亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試通過變量使用 os.path.exists 但出現錯誤

嘗試通過變量使用 os.path.exists 但出現錯誤

墨色風雨 2024-01-15 17:10:27
我有一個名為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')

或者僅在所有文件都存在時才打印,具體取決于您想要的內容。


查看完整回答
反對 回復 2024-01-15
?
滄海一幻覺

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")


查看完整回答
反對 回復 2024-01-15
  • 2 回答
  • 0 關注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號