rei*_*rdt 28 python python-3.x pathlib
我目前正在使用Pathlib如下方式访问我的文件的父目录:
Path(__file__).parent
Run Code Online (Sandbox Code Playgroud)
当我打印它时,这给了我以下输出:
print('Parent: ', Path(__file__).parent)
#output
/home/user/EC/main-folder
Run Code Online (Sandbox Code Playgroud)
该main-folder有一个.env,我想访问文件和我想加入与父路径.env。现在,我做到了:
dotenv_path = os.path.join(Path(__file__).parent, ".env")
Run Code Online (Sandbox Code Playgroud)
哪个有效。但我想知道,是否有Pathlib替代方案os.path.join()?就像是:
dotenv_path = pathlib_alternate_for_join(Path(__file__).parent, ".env")
Run Code Online (Sandbox Code Playgroud)
Pan*_*shi 36
就在这里:
env_path = Path(__file__).parent / ".env"
Run Code Online (Sandbox Code Playgroud)
/是你所需要的全部。这将适用于不同的操作系统
Jun*_*rat 20
你可以使用这样的东西:
(Path(__file__).parent).joinpath('.env')
Run Code Online (Sandbox Code Playgroud)
文档:
Que*_*atl 11
以下定义filepath在精神上是否更接近 os.path.join?
import pathlib
main_dir = 'my_main_dir'
sub_dir = 'sub_dir'
fname = 'filename.tsv'
filepath = pathlib.PurePath(main_dir, sub_dir, fname)
Run Code Online (Sandbox Code Playgroud)
小智 10
您可以简单地连接 Path 对象和字符串:
import pathlib
script_parent_path = pathlib.Path(__file__).parent
my_dir = ".env"
my_new_path = pathlib.Path(script_parent_path, my_dir)
print(my_new_path)
Run Code Online (Sandbox Code Playgroud)
那是因为:
Pathlib 的构造函数接受pathsegments。pathsegments的每个元素可以是表示路径段的字符串、实现返回字符串的os.PathLike接口的对象或另一个路径对象 - https://docs.python.org/3/library/pathlib.html#路径库.PurePath
| 归档时间: |
|
| 查看次数: |
13828 次 |
| 最近记录: |