我有一個名為 ABC 的文件夾,其中有很多擴展名為 001.py、001.xls、001.pdf 等的文件。我想編寫一個程序,在其中我們獲取具有該文件名的列表 ["C:\Users\Desktop\ABC\001.py", "C:\Users\Desktop\ABC\001.xls", "C:\Users\Desktop\ABC\001.pdf"]我的代碼:import osfrom os import listdirfrom os.path import isfile, joindir_path = os.path.dirname(os.path.realpath(__file__))print(dir_path) #current pathcwd = os.getcwd()list3 = []onlyfiles = [f for f in listdir(cwd) if isfile(join(cwd, f))]for i in onlyfiles: list3.append(dir_path+"\\"+i)print(list3) 我得到的輸出為:["C:\\Users\\Desktop\\ABC\\001.py", "C:\\Users\\Desktop\\ABC\\001.xls", "C:\\Users\\Desktop\\ABC\\001.pdf"]我正在尋找輸出:["C:\Users\Desktop\ABC\001.py", "C:\Users\Desktop\ABC\001.xls", "C:\Users\Desktop\ABC\001.pdf"]
1 回答

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
如果你會使用Python 3,pathlib
可以幫助你以更清晰的方式組裝你的路徑!如果您被迫使用 Python 2,您可以引入它所基于的庫!
雙反斜杠之所以出現并需要處理,是因為 Windows 奇怪地選擇使用\
而不是/
作為路徑分隔符,而它在許多語言(尤其是 C 派生語言)中作為轉義字符無處不在。您可以使用/
并且仍然可以正常工作。\
您會發現在不使用時也需要轉義空格pathlib
。
添加回答
舉報
0/150
提交
取消