我想用Python來在從包含「目標」名稱的.txt文件名爲myShow
目錄中的文件重命名:從文本文件中的目錄替換文件名
realNameForEpisode1
realNameForEpisode2
realNameForEpisode3
層次結構看起來像:
episodetitles.txt
myShow
├── ep1.m4v
├── ep2.m4v
└── ep3.m4v
我試過如下:
import os
with open('episodetitles.txt', 'r') as txt:
for dir, subdirs, files in os.walk('myShow'):
for f, line in zip(sorted(files), txt):
originalName = os.path.abspath(os.path.join(dir, f))
newName = os.path.abspath(os.path.join(dir, line + '.m4v'))
os.rename(originalName, newName)
但我不硝酸鉀w ^爲什麼我在文件名的擴展月底前獲得?
:
realNameForEpisode1?.m4v
realNameForEpisode2?.m4v
realNameForEpisode3?.m4v
什麼沒有工作?嘗試在代碼中放置一些打印語句,或者使用調試器來查看f,originalName,newName等的值。到達一個你知道的地方(比如將一個文件放在同一個目錄中,並測試你可以重命名它。)這是你應該能夠通過一點點額外的努力來解決你的問題。 – SteveJ
對不起,忘了補充說我已經測試過了,但不明白爲什麼在擴展前出現'?'。是因爲文本文件在每行的末尾有'\ n'嗎? –