然后再说说argv这个变量。「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序。这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或全路径,和操作系统有关,argv[1]和以后就是传入的数据了。然后我们再看调用脚本的命令行:python using_sys.py we are argumentspython就不用说了,「using_sys.py」脚本名,后面的用空格分割开的「we」「are」「argument」就是参数了。PS.一般参数由空格分隔,如果参数内部有空格要使用英文双引号引起来比如这样:python using_sys.py hi "I'm 7sDream"按照教程的命令行运行脚本的时候,按照argv的定义:argv = ["using_sys.py", "we", "are", "argument"]然后用for对argv这个List进行迭代输出,就得到了教程里的结果。
先要装载 os模块:
import os
print os.getcwd()
或者
print os.path.abspath(os.curdir)
print os.path.abspath('.')
就可以了。
( . 代表当前的路径,.. 代表当前路径的上一级路径。这在UNIX和Windows系统意义是类似的。
例如:
以Winodws系统为例:
当前路径是F:\Temp, 则 . 的绝对路径就是F:\Temp
.. 的绝对路径就是F:
)
要获得上级目录的路径也很简单,print os.path.abspath('..')就可以了。
要改变当前路径,os.chdir(path) 就可以了 path里填要改变到的目录,例如os.chdir('D:\Program Files')
这样大部分的文件操作现在是相对于D:\Program Files 来了,例如fobj = open('Hello.txt'),实际会打开D:\Program Files\Hello.txt文件。
不要通过sys.argv[0]获得当前路径,那是不正确的。sys.argv[0] 是当前执行的Python脚本的文件名,不一定是当前的路径。