首页 > 解决方案 > 如何知道调用 shell 目录的路径并在我的 python 可执行文件中使用它

问题描述

基本上,我想使用 shell 从任何地方调用 python 程序,所以我添加了一个 shebang 并将其复制到/usr/local/bin具有可执行权限。python 程序接受一个命令行参数,它是输入文件的相对路径。
我被困在这里,我不知道该怎么做才能获得shell的绝对路径。我假设一旦我以某种方式获得绝对路径,我就可以sys.argv[1]用来获取文件的输入相对路径(我将附加到 shell 工作目录的绝对路径),但请纠正我它不起作用。

标签: pythonubuntupathexecutable

解决方案


您可以通过 打印工作目录os.environ['PWD']。内容your_script.py

#!/usr/bin/python3.5

import os
print(os.environ['PWD'])

用法:

sanyash@sanyash-ub16:/etc/nginx$ your_script.py 
/etc/nginx
sanyash@sanyash-ub16:/etc/nginx$

推荐阅读