提供对操作系统进行调用的接口
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'