
正文
os模块sys模块-sys.argv命令行参数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
提供对操作系统进行调用的接口
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: ('.')
os.pardir 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
os.stat('path/filename') 获取文件/目录信息
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串
os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.abspath(path) 返回path规范化的绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是绝对路径,返回True
os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
getcwd

chdir切换当前路径,一种方法路径用两个斜杠"\\",另外一种方法在字符串前面加一个r
在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。


当前目录和上一级目录curdir,pardir

递归的创建目录makedirs

递归的删除目录removedirs,该目录为空就会删除,因为C盘有东西,所以不能删,专门用来删除空文件夹的

创建目录只能创建一级目录mkdir

删除目录,只能删除一级目录,并且需要该目录为空rmdir
这种情况只会删除b目录
listdir列出文件目录里的文件,返回的是一个列表


删除一个文件remove
os.remove("aa.txt")
重命名文件或者目录

获取文件或者目录的信息os.stat()

st_atime存储时间,st_mtime修改时间
os.sep输出操作系统特定的路径分隔符,win下为"\\",linux为"/"
os.linesep输出当前平台使用的行终止符,win下为"\r\n",linux为"\n"
os.pathsep输出系统环境变量中多数值之间的用什么符号来分割的字符串,win下为";",linux为":"(见下面的os.environ的例子,win就是分号,PATH有多个路径,用分号来分割多个路径)
查看系统的环境变量os.environ,返回的是系统环境变量的字典。

返回当前操作系统是win还是linux,os.name,windows就是"nt",linux返回的是"posix"

在当前目录下执行命令os.system("bash command")

os.path.abspath()获取当前文件的绝对路径
os.path.split()分割为2个部分,返回一个元祖,第一个部分是目录,第二个目录是文件名

os.path.dirname(path)返回文件的目录,就是上面的第一个数值

os.path.basename返回文件名,就是上面元祖的第二个数值

os.path.exists(path)判断输入的路径是否存在

os.path.isabs(path)判断是否是绝对路径
windows的情况"c:\"

linux的情况"/"

os.path.isfile判断是否是文件

isdir判断是否是目录
os.path.join多个路径组合,在win下可能有点问题,因为第一个绝对路径之前的参数将被忽略,在linux是OK的。

os.path.getatime(path)返回path文件或者目录的最后存取时间
os.path.getmtime(path)返回path文件或者目录的最后修改时间

sys模块
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]
sys.argv打印你脚本执行,后面带的参数,返回的是列表,第一个是程序本身文件名

sys.version解释器版本的信息

sys.stdout.write('please:')前面用过,写进度条用的。查下之前记录
http://www.cnblogs.com/itfat/p/7397369.html
sys.platform返回的值如下:
平台 值
Linux (2.x and 3.x) 'linux2'
Windows 'win32'
Windows/Cygwin 'cygwin'
Mac OS X 'darwin'
OS/2 'os2'
OS/2 EMX 'os2emx'
RiscOS 'riscos'
AtheOS 'atheos'





