# encoding:utf-8# by kevindi 1.0"""举例说明如何处理python的命令行参数"""import os, sys# python的命令行参数存储在数组中,如下方法可以打印命令行的所有参数# 例如一个简单的结果: ['D:/project/python/example/pythonExample/LanguageExample/argsExample.py']print(sys.argv)# 打印脚本第一个参数print(os.path.dirname(sys.argv[0]))slash = os.path.sep # 操作系统分隔符# 打印脚本执行目录print(os.path.abspath(''))# 可以通过命令行参数获取代码的目录code_path = os.path.abspath(os.path.dirname(sys.argv[0]))print('code path=' + code_path)os.chdir(code_path)# 获取脚本的上一级目录main_path = slash.join(code_path.split(slash)[:-1])print('main path=' + main_path)sys.path.append(main_path)
- 执行结果如下:
在脚本当前目录下执行:
D:projectpythonexamplepythonExampleLanguageExample>python argsExample.py
['argsExample.py']
D:projectpythonexamplepythonExampleLanguageExample
code path=D:projectpythonexamplepythonExampleLanguageExample
main path=D:projectpythonexamplepythonExample
在上一级目录执行
D:projectpythonexamplepythonExampleLanguageExample>cd ..
D:projectpythonexamplepythonExample>python LanguageExampleargsExample.py
['LanguageExampleargsExample.py']
LanguageExample
D:projectpythonexamplepythonExample
code path=D:projectpythonexamplepythonExampleLanguageExample
main path=D:projectpythonexamplepythonExample
在其它目录执行
D:projectpythonexamplepythonExample>cd ..
D:projectpythonexample>python pythonExampleLanguageExampleargsExample.py
['pythonExampleLanguageExampleargsExample.py']
pythonExampleLanguageExample
D:projectpythonexample
code path=D:projectpythonexamplepythonExampleLanguageExample
main path=D:projectpythonexamplepythonExample
D:projectpythonexample>
现在来回顾一下上面例子的知识点:
- 获取脚本运行目录的方法
- 获取脚本存储目录的方法
- 获取上一级目录的方法
最后:给大家插播一个知识点...看完文章的读者可以直接用今日头条app上方的搜索框输入“编程实践”,就能看到很多写代码实践样例。年底了又到跳槽高峰期,可以提前看看编程小知识,祝大家面试顺利,顺利拿到腾讯、阿里、百度、头条、字节跳动