Я пытаюсь переименовать множество файлов в каталоге (ноутбук с Windows10), используя код Python. Я не нахожу никакой ошибки, но она не выполняется. Я воссоздал упрощенный сценарий, как показано ниже.
import pandas as pd
import os
data = {'file_1': ['temp112.pptx', 'temp212.pdf', 'temp312.pdf', 'temp412.pptx'], 'file_2': ['mktg.pptx', 'econ.pdf', 'orgg.pdf', 'qtdm.pptx']}
files=pd.DataFrame.from_dict(data)
for index, row in files.iterrows():
term = "'"+'ren'+' ' + str(row['file_1'] + ' ' + str(row['file_2']+"'"))
os.system(str(term))
print(term)
'ren temp112.pptx mktg.pptx'
'ren temp212.pdf econ.pdf'
'ren temp312.pdf orgg.pdf'
'ren temp412.pptx qtdm.pptx'
Однако термин 'ren temp112.pptx mktg.pptx' может быть выполнен вручную (os.system('ren temp112.pptx mktg.pptx')). Не уверен, почему он не выполняется в цикле.
Почему вы используете пользовательские команды, а не команды программистов. Я уверен, что Python может копировать свои собственные файлы.
Спасибо Нудлс. Я не искал это, так как застрял на использовании команды переименования DOS. По вашему предложению небольшое изменение в коде устранило проблему. (os.rename(row['file_1'], row['file_2]). Мое фактическое приложение состояло в том, чтобы очистить имена файлов примерно в 100 pdf-документах, и оно завершено.
До сих пор не знаю, почему моя первоначальная попытка не удалась. На данный момент все в порядке.




