我試圖弄清楚某些以文本檔案中的名稱存盤的影像是否存在于特定的影像檔案夾中。
文本檔案如下所示(包括 1k 行):
4916849840_43930a0979_o.png
331595384_492146dbf3_k.png
13517809023_f49228b3ec_o.png
所以我寫了這樣的代碼:
import os
txt_path = '/Users/owner/Desktop/360_dataset_3k/train/train_3k_1.txt'
images_path = '/Users/owner/Desktop/360_dataset_3k/360_512_3k_1/'
full_path = '/Users/owner/Desktop/360_dataset_3k/360_512_3k_1/27107804622_984dbb2181_o.png'
f = open(txt_path,"r")
lines = f.readlines()
for line in lines:
new_path = os.path.join(images_path, line)
print(new_path)
if os.path.exists(new_path):
print("True.\n")
else:
print("False.\n")
但是,輸出是無窮無盡的False。但是,當我在這里更換new_path
if os.path.exists(new_path):
print("True.\n")
變數full_path是由一行行創建的 new_path 的列印。
if os.path.exists(full_path):
print("True.\n")
輸出為真!!!
在以一種相當乏味的方式檢查之后,事實證明它們確實存在于影像檔案夾中。有人可以告訴我發生了什么嗎?非常感謝。
uj5u.com熱心網友回復:
('\n')當您為檔案物件呼叫 readlines() 方法時,每一行的末尾都有一個換行符。在加入路徑之前,您需要剝離線。
代碼:
f = open(txt_path,"r")
lines = f.readlines()
for line in lines:
line = line.strip() #Remove whitespace
new_path = os.path.join(images_path, line)
print(new_path)
if os.path.exists(new_path):
print("True.\n")
else:
print("False.\n")
f.close()任務完成時也關閉檔案物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444089.html
