我有一個名為serial.dll. 該文件的內容是另一個文件的名稱:a-2ED1-7156.dll我還在a-2ED1-7156.dll同一目錄中調用了 1 個文件。當我嘗試通過讀取文件名來檢查文件是否存在時serial.dll:f = open('serial.dll', 'r')serials = f.read()if os.path.exists(serials): print("ok")else: print("no")結果總是“不”。但:file = 'a-2ED1-7156.dll'if os.path.exists(file): print("ok")else: print("no")總是給出正確的結果。如何a-2ED1-7156.dll通過讀取文件來檢查文件是否存在serial.dll?Update Try: f = open('serial.dll', 'r')lines = f.readline()for line in lines: if os.path.exists(line): print('ok') else: print("no")results error:nononononononononononooknononono
2 回答

智慧大石
TA貢獻1946條經驗 獲得超3個贊
假設每個文件都在單獨的行中,您可以使用
lines = f.readlines()
for line in lines:
if os.path.exists(line):
print('ok')
或者僅在所有文件都存在時才打印,具體取決于您想要的內容。

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
您的問題是文件中的行可能以換行符結尾。文件名通常沒有該字符...例如,現在您正在檢查文件是否a-2ED1-7156.dll\n
存在 - 但實際上不存在。您只需要在將strip()
它們作為文件檢查之前就可以:
f = open('serial.dll')
for line in f:
? ? filename = line.strip()
? ? if os.path.exists(filename):
? ? ? ? print(f"{filename} exists")
? ? else:
? ? ? ? print(f"{filename} doesn't exist")
添加回答
舉報
0/150
提交
取消