所以我尝试遍历一个名为eachjpgfile
的子文件夹中的文件列表,并将文件从doc
更改为子文件夹eachjpgfile
,但当我这样做时,它会将文件添加到eachjpgfile
之前的目录中,而不是将其保存在其中。看看下面的代码,您能看到它为什么要这样做吗?我如何将它保存在eachjpgfile
目录中?在
代码如下:
for eachjpgfile in filelist:
os.chdir(eachjpgfile)
newdirectorypath = os.curdir
list_of_files = os.listdir(newdirectorypath)
for eachfile in list_of_files:
onlyfilename = os.path.splitext(eachfile)[0]
if onlyfilename == 'doc':
newjpgfilename = eachfile.replace(onlyfilename,eachjpgfile)
os.rename(eachfile, newjpgfilename)
试试这个:
这里有很多奇怪的东西,但是我认为导致你的特殊问题的是在'eachjpgfile'中使用'eachjpgfile'每个文件。替换'。
据我所知,您传递的'eachjpgfile'是一个完整路径,所以您将文件名中的'doc'替换为'/full/path/to/eachjpgfile',这使得它与'eachjpgfile'目录平行,而不管您当前的工作目录是什么。在
您可以在替换之前添加一行来拆分路径/文件名:
这是一个非常肮脏的脚本非常肮脏的修复。:)
相关问题 更多 >
编程相关推荐