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

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

獲取文件的相對路徑時出現問題?

獲取文件的相對路徑時出現問題?

夢里花落0921 2022-01-05 11:24:06
我正在另一臺機器上讀取文件。因此,我需要訪問文件的完整路徑。所以我嘗試使用 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


查看完整回答
反對 回復 2022-01-05
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

您可以使用join將字符串粘貼在一起。

''.join([str(Path.home()), 'path\\t.txt'])


查看完整回答
反對 回復 2022-01-05
?
皈依舞

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


查看完整回答
反對 回復 2022-01-05
  • 3 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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