FAQ
最后更新于:2022-04-01 01:16:46
### 常见问题
本节列出常见的一些问题。
### 如何获取当前路径
当前路径可以用`'.'`表示,再用`os.path.abspath()`将其转换为绝对路径:
~~~
# -*- coding:utf-8 -*-
# test.py
import os
print(os.path.abspath('.'))
~~~
运行结果:
~~~
$ python3 test.py
/Users/michael/workspace/testing
~~~
### 如何获取当前模块的文件名
可以通过特殊变量`__file__`获取:
~~~
# -*- coding:utf-8 -*-
# test.py
print(__file__)
~~~
输出:
~~~
$ python3 test.py
test.py
~~~
### 如何获取命令行参数
可以通过`sys`模块的`argv`获取:
~~~
# -*- coding:utf-8 -*-
# test.py
import sys
print(sys.argv)
~~~
输出:
~~~
$ python3 test.py -a -s "Hello world"
['test.py', '-a', '-s', 'Hello world']
~~~
`argv`的第一个元素永远是命令行执行的`.py`文件名。
### 如何获取当前Python命令的可执行文件路径
`sys`模块的`executable`变量就是Python命令可执行文件的路径:
~~~
# -*- coding:utf-8 -*-
# test.py
import sys
print(sys.executable)
~~~
在Mac下的结果:
~~~
$ python3 test.py
/usr/local/opt/python3/bin/python3.4
~~~