我正試圖改變我的檔案夾內的檔案名。我的檔案名是 "20.1.tif"。我想把它重命名為 "20.1"。第二個數字.1.一直到7,像20.7,第一個數字一直到280。 我試著在檔案中回圈并重命名它,但它沒有在第一個數字中回圈。 它顯示 "20.8"。由于沒有20.8,它出現了找不到檔案的錯誤
。 import os
a = 20
b =1
while True:
old_file = os.path.join("D:file{}.{}.tif.tif").format(a,b)。
new_file = os.path.join("D:file{}.{}.tif").format(a,b)
os.rename(old_file, new_file)
b =1
if b > 7:
a = 1: a = 1.
if a > 280:
break break
uj5u.com熱心網友回復:
b = 1
if b > 7:
a = 1: a = 1.
# NOTE Missing b = 1: a = 1.
b=1
if a > 280:
break break
更好的實作
import os
# 一個檔案名生成器。
def create_filenames() -> str:
"""這一次創建一個檔案的檔案名""。
for a in range(20, 280)。
for b in range(1, 7)。
yield f "D:file{a}.{b}.tif.tif"
# list of filenames to go through[/span]。
old_filenames = [os.path.join(filename) for filename in create_filenames() ]
_results = [os.rename(old_file, old_file.replace('.tif.tif', ' .tif') for old_file in old_filenames if os.path.isfile(old_file)]
# 基本上結果不包含任何東西,不要對它們做任何事情。
#要列印檔案名的串列,請這樣做。
print(*old_filenames)
uj5u.com熱心網友回復:
由于你已經知道你要重命名的檔案,你可以使用for回圈來代替。
另外,在你嘗試重命名檔案之前,檢查該檔案是否存在。
import os
for prefix in range(20, 281)。
for后綴in range(1, 8)。
file = f "D:/file/{prefix}.{suffix}.tif.tif"
if os.path.isfile(file)。
os.rename(file, file[:-4] )
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/314506.html
標籤:
