记录常用命令:
- os.name #显示当前使用的平台
>>> os.name
'posix' #unix/Linux,返回posix;windows用户,返回nt
- os.sep #当前平台下路径分隔符
>>> os.sep
'/' #unix/linux
>>> os.sep
'\\' #windows
- os.linesep #当前平台使用的行终止符
>>> os.linesep
'\n' #linux
>>> os.linesep
'\r\n' #windows
- os.environ #获取系统环境变量
>>> os.environ
{..., 'PWD': '/Users/merry'}
- os.system() #运行shell命令,这里会打开一个新shell,运行命令,结束后关闭shell
- os.getcwd() #当前目录
>>> os.getcwd()
'/Users/merry'
- os.mkdir(path, [, mode=0777]) #创建一个目录
- os.makedirs('parent_dir/child_dir') #可生成多层递归目录
- os.listdir('dirname') #列出指定目录下的所有文件和目录名
- os.curdir #返回当前目录
- os.chdir(dirname) #改变当前工作路径
- os.rename('old_name','new_name') #重命名文件/目录名
- os.rmdir('dirname') #删除单级目录
- os.removedirs() #级联删除目录
>>> os.mkdir('tmp1/tmp2')
Traceback (most recent call last):
File "", line 1, in
OSError: [Errno 2] No such file or directory: 'tmp1/tmp2'
>>>
>>> os.mkdir('tmp1')
>>> os.makedirs('tmp/tmp_file')
>>> os.listdir('tmp')
['tmp_file']
>>> os.chdir('tmp')
>>> os.curdir
'.'
>>> os.getcwd()
'/Users/merry/tmp'
>>> os.listdir('.')
['tmp_file']
>>> os.rename('tmp_file','new')
>>> os.listdir('.')
['new']
>>> os.makedirs('new/a/b')
>>> os.rmdir('new')
Traceback (most recent call last):
File "", line 1, in
OSError: [Errno 66] Directory not empty: 'new'
>>> os.removedirs('new')
Traceback (most recent call last):
File "", line 1, in
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 170, in removedirs
rmdir(name)
OSError: [Errno 66] Directory not empty: 'new'
>>> os.rmdir('new/a/b')
>>> os.listdir('./new')
['a']
>>> os.listdir('./new/a')
[]
>>> os.removedirs('new/a')
>>> os.listdir('.')
[]
>>> open('file','w')
>>> open('file.txt','w')
>>> os.listdir('.')
['file', 'file.txt']
>>> os.remove('file')
>>> os.listdir('.')
['file.txt']
- os.path.abspath(path) #返回绝对路径
- os.path.dirname(path) #返回该路径的父目录
- os.path.basename(path) #返货path最后一个目录或文件,如果以分隔符结尾,则返回空值
>>> os.path.abspath('a/b')
'/Users/merry/tmp/a/b'
>>> os.path.abspath('/a/b')
'/a/b'
>>> os.path.dirname('/a/b')
'/a'
>>> os.path.dirname('a/b')
'a'
>>> os.path.dirname('a/b/')
'a/b'
>>> os.path.basename('a/b/')
''
>>> os.path.basename('a/b')
'b'
- os.path.isfile(path) #判断是否为文件
- os.path.isdir(path) #判断是否为目录
>>> os.path.isfile('file.txt')
True
>>> os.path.isdir('file.txt')
False
- os.chmod(path mode) #修改文件的访问权限
- os.stat() #获取文件或者目录信息
- os.chown(path, uid, gid) #修改path的owner和group
>>> os.stat('file.txt')
posix.stat_result(st_mode=33188, st_ino=3287829, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=0, st_atime=1500473283, st_mtime=1500473273, st_ctime=1500473273)
>>> os.chmod('file.txt', 0777)
>>> os.stat('file.txt')
posix.stat_result(st_mode=33279, st_ino=3287829, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=0, st_atime=1500473283, st_mtime=1500473273, st_ctime=1500473741)
>>>
- os.path.split(path) #将path分割成路径名和文件名
- os.path.join(path, name) #连接目录与文件名或目录,结果为path/name
- os.path.exists(path) #检测当前路径是否存在
>>> os.path.split('a/b/c')
('a/b', 'c')
>>> os.path.split('a/b/c/')
('a/b/c', '')
>>> os.path.split('/a/b/c/')
('/a/b/c', '')
>>> os.path.join('a/b','c')
'a/b/c'
>>> os.path.exists('a/b/c')
False