FAQ

常见问题

本节列出常见的一些问题。

如何获取当前路径

当前路径可以用'.'表示,再用os.path.abspath()将其转换为绝对路径:

  1. # -*- coding:utf-8 -*-
  2. # test.py
  3. import os
  4. print(os.path.abspath('.'))

运行结果:

  1. $ python3 test.py
  2. /Users/michael/workspace/testing

如何获取当前模块的文件名

可以通过特殊变量file获取:

  1. # -*- coding:utf-8 -*-
  2. # test.py
  3. print(__file__)

输出:

  1. $ python3 test.py
  2. test.py

如何获取命令行参数

可以通过sys模块的argv获取:

  1. # -*- coding:utf-8 -*-
  2. # test.py
  3. import sys
  4. print(sys.argv)

输出:

  1. $ python3 test.py -a -s "Hello world"
  2. ['test.py', '-a', '-s', 'Hello world']

argv的第一个元素永远是命令行执行的.py文件名。

如何获取当前Python命令的可执行文件路径

sys模块的executable变量就是Python命令可执行文件的路径:

  1. # -*- coding:utf-8 -*-
  2. # test.py
  3. import sys
  4. print(sys.executable)

在Mac下的结果:

  1. $ python3 test.py
  2. /usr/local/opt/python3/bin/python3.4

原文: https://wizardforcel.gitbooks.io/liaoxuefeng/content/py3/123.html