我正在另一臺機器上讀取文件。因此,我需要訪問文件的完整路徑。所以我嘗試使用 pythons Pathlib 模塊:a_path = '/dir1/subdir1/sample.txt'home = str(Path.home())a_path = str(home) + str(a_path)顯然,上面的代碼返回了我的完整路徑。然而,當我閱讀它時,我得到:FileNotFoundError: [Errno 2] No such file or directory: "/home/user'/dir1/subdir1/sample.txt'"如何修復上述錯誤?也許在串聯中我遇到了問題。
3 回答

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
試試這個。這使用os.path.join將兩條路徑連接在一起
import os
import pathlib
a_path = 'dir1/subdir1/sample.txt'
home = str(pathlib.Path.home())
print(os.path.join(home, a_path))
#/home/user/dir1/subdir1/sample.txt

皈依舞
TA貢獻1851條經驗 獲得超3個贊
首先,'/dir1/subdir1/sample.txt'是絕對路徑。如果您希望它是一個相對路徑(似乎是這種情況),您應該使用'dir1/subdir1/sample.txt',所以沒有前導/.
使用 pathlib 庫,這將變得非常容易
>>> from pathlib import Path
>>> a_path = "dir1/subdir1/sample.txt"
>>> a_path = Path.home() / a_path
>>> print(a_path)
/home/pareto/dir1/subdir1/sample.txt
再次確保您沒有使用絕對路徑。否則你會得到以下
>>> print(Path.home() / "/dir1/subdir1/sample.txt")
/dir1/subdir1/sample.txt
添加回答
舉報
0/150
提交
取消