如何以良好的方式加入路径?



我有什么:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
filepath = 'files/one.txt'
request_path = os.path.join(BASE_DIR, filepath)
print(request_path, filepath, BASE_DIR)

它打印

/files/one.txt /files/one.txt /home/pavel/Dev/AiPOSiZI/Lab_1

这意味着路径未联接。

os.path.join('/home/pavel/Dev/AiPOSiZI/Lab_1/', 'files/one.txt')

(我已经在/家/的末尾添加了/...并从/files/... 的开头删除/效果很好。

我可以手动添加和删除路径/,但我想知道是否有更优雅的方式来加入它们

在python 3.8.0上,它似乎按预期工作。

import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
filepath = 'files/one.txt'
request_path = os.path.join(BASE_DIR, filepath)
print(request_path, filepath, BASE_DIR)
$ python -V
Python 3.8.0
$ python /tmp/a.py
/tmp/files/one.txt files/one.txt /tmp

你可以在python中使用f-string(参见文档(。

在您的情况下:

request_path  = f"{BASE_DIR}/{filepath}"

请注意,您需要在文件位置变量(BASE_DIR和文件路径(之间加一个斜杠">/"才能正确完成完整的文件位置。

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新