我正在另一台计算机上读取文件。因此,我需要访问文件的完整路径。因此,我尝试使用python的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'"
如何解决以上错误?也许在连接中我遇到了问题。
答案 0 :(得分:1)
尝试一下。这使用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
答案 1 :(得分:0)
您可以使用join
将字符串粘贴在一起。
''.join([str(Path.home()), 'path\\t.txt'])
答案 2 :(得分:0)
首先,'/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