我是 python 新手,我沒有經常使用 os.path,但是隨著我的專案的增長,我開始嘗試將多個檔案夾集成在一起,我意識到最好開始使用 os.path 方法。
我目前正在嘗試獲取檔案data.json夾中的 json 檔案(即在其他幾個檔案夾中)。我查看了它在網上完成的方式,但我想我自己弄糊涂了。
import os
import json
x = os.path.join('c:', 'data.json')
data = json.loads(open(x).read())
print(data)
錯誤資訊:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Obada\\OneDrive\\Documents\\VS Code Projects\\Basic Chatbot\\data'
uj5u.com熱心網友回復:
該path.join()功能適用??于您要在不同作業系統中運行的程式,在此示例中您不必使用 join 功能。
join 函式只是將 2 個字串與 a/或\取決于作業系統
在這個例子中它的視窗,所以它使用\
如果它在 c 磁區中,您可以只使用完整(原始)地址。
但是如果地址是相對的,例如這個例子:
.\example.json
它取決于您所在的當前檔案或檔案夾,在這種情況下是 python 腳本,您應該使用 join 函式
uj5u.com熱心網友回復:
我建議使用os.listdir()方法查看當前活動檔案夾中的現有檔案(您可以使用os.getcwd())來查看。
import os
import json
files = os.listdir()
x = os.path.join('c:', 'data.json')
for i in files:
if x in files:
data = json.loads(open(x).read())
print(data)
else:
print("File doesn't exist!")
有更好的方法可以做到這一點,但我試圖讓它對初學者友好,因為你是 python 新手。
uj5u.com熱心網友回復:
如果您在 Windows 上,您可以使用類似這樣的方法訪問 C:\ 中的檔案。注意第二個斜線是因為我們需要告訴python它是一個\
import os
fullfilename = os.path.join('C:\\', 'data.json')
data = json.loads(open(fullfilename).read())
print(data)
另一個有用的選項是 getcwd,它將為您提供當前運行 python 的目錄。
currdir = os.getcwd()
FILEPATH = os.path.join(currdir,"data.json")
這將確保一切都相對于您運行代碼的目錄正常作業......無論您將代碼移動到何處
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/480638.html
