如何为文件名添加前缀,替换字符,并移动到新目录?

时间:2016-10-04 05:35:29

标签: python replace rename

例如,文件看起来像FG-4.jpg FG-5.jpg等,需要复制到新目录并命名为test_FG_4.jpg test_FG_5.jpg等。

以下是更新后的代码:

import shutil
import glob
import os
InFolder = r"C:\test_in"
OutFolder = r"C:\test_out"

for f in glob.glob('*'):
    shutil.move(InFolder/*, OutFolder, copy_function=copy2)
    os.listdir(OutFolder)
    new_filename = f.replace("-","_")
    new_filename = "test_" + new_filename
    os.rename(f,new_filename)

我收到了错误

File "c:\copyRename2.py", line 8, in ?
  shutil.move(InFolder/*, OutFolder, copy_function=copy2)

invalid syntax: copyRename2.py, line 8, pos 26 in file c:\copyRename2.py, line 8
shutil.move(InFolder/*, OutFolder, copy_function=copy2)

首次尝试:

import shutil
import glob
import os
InFolder = r"C:\test_in"
OutFolder = r"C:\test_out"

for f in glob.glob('*'):
    shutil.copyfile(f, OutFolder)
    new_filename = f.replace("-","_")
    new_filename = "test_" + new_filename
    os.rename(f,new_filename)

1 个答案:

答案 0 :(得分:0)

我不确定你想要什么。因此,该程序检查任何扩展名为.jpg的文件,然后通过在文件名中添加“Test_”将它们复制到新文件夹(“NewDir”)中。如果该文件夹不存在,程序将创建该文件夹。也许您可以根据此计划进行所需的更改。

import shutil
import os
newdir="NewDir"
for m in (os.listdir()):
    if m[-4:]==(".txt"):

        if os.path.isdir(newdir):
            shutil.copy(m,newdir+"/"+"Test_"+m)
        else:
            os.mkdir(newdir)
            shutil.copy(m,newdir+"/"+"Test_"+m)