尝试使用systemd服务访问以下目录中的CSV文件:/path/to/cwd/data/x.csv

当前,使用path = '/path/to/cwd/data/x.csv'在CWD中的python文件中对路径进行硬编码可以使服务找到文件而不会出现问题。

但是,如果我尝试像这样使用pathlib:

from pathlib import Path
path = Path.cwd() / 'data' / 'x.csv'


该服务给我一个错误:
FileNotFoundError:[错误2]没有这样的文件或目录:'/data/x.csv'

当我尝试使用OS库执行path = os.path.join(os.getcwd(), 'data/x.csv')时出现相同的错误

我不知道发生了什么,当我比较pathlib和os生成的路径的输出时,它们与我键入的内容完全相同,但是它们不起作用,而硬编码的路径可以。

最佳答案

您可以尝试在服务中指定cwd。

[服务]
   WorkingDirectory = / PathToCwd

然后再次运行。

关于python - Pathlib在Ubuntu上找不到文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59324129/

10-11 14:12