#python #replace #rename
#python #заменить #переименовать
Вопрос:
Например, Файлы будут выглядеть как 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. Вот совет: когда вы переименовываете файл, вы также можете переместить его; потому что вы можете переименовать файл и весь его путь одновременно.
2. используйте shutil.move(InFolder/*, исходящая папка, copy_function=copy2) , чтобы скопировать ваши файлы в исходящую папку. Затем используйте os.listdir(OutFolderPath) . Он предоставит вам список файлов в вашем каталоге
[file1, file2]
InFolder, а затем вы сможете изменить каждое имя файла с помощьюos.rename(filename, 'test_' filename)
3. Я обновил исходное сообщение, чтобы отразить предложенные вами изменения, но я не думаю, что реализовал их правильно. Новая ошибка также обновляется.
Ответ №1:
Я не уверен в том, чего вы хотите. Итак, эта программа проверяет наличие любого файла с расширением .jpg, а затем копирует их в новую папку («NewDir»), добавляя «Test_» к имени файла. Если папка не существует, программа создает папку. Возможно, вы сможете внести необходимые изменения на основе этой программы.
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)