- 对文件系统的访问大多通过 python 的 os 模块实现
- 该模块是 python 访问操作系统功能的主要接口
- 有些方法,如:copy 等,并没有提供,可以使用 shutil 模块作为补充
# os模块的常用方法
>>>import os #导入os系统模块
>>>os. #os.<Tab><Tab> 查看os模块的所以方法
>>>os.getcwd() #getcwd(),查看当前所处的文件路径,类似于: pwd
>>>os.listdir() #listdir(), 查看当前目录下的所有文件(包括隐藏文件),类似于:ls -a
>>>os.listdir('/tmp') #listdir('/tmp'), 查看/tmp目录下的内容,类似于:ls /tmp
>>>os.mkdir('/tmp/mytest') #mkdir(), 创建目录,类似于:mkdir /tmp/mytest
>>>os.mkdir('/tmp/demo/abc') #只能创建单级目录,父目录无法创建
>>>os.makedirs('/tmp/demo/abc') #创建目录时,父目录不存在,会自动创建,类似于: mkdir -p ...
>>>os.chdir('/tmp/demo') #chdir(), 切换当前所处的文件位置,类似于:cd /tmp/demo
>>>os.getcwd() #getcwd(),查看当前所处的文件路径,类似于: pwd
>>>os.listdir() #listdir(), 查看当前目录下的所有文件(包括隐藏文件),类似于:ls -a
>>>os.symlink('/etc/passwd', 'mima') #symlink(), 为/etc/passwd建立软链接mima,类似于: ln -s /etc/passwd mima
>>>os.remove('abc') #remove(), 只能删除单个文件,不能删除目录
>>>os.rmdir('abc') #rmdir(),只能删除空目录;要删除非空目录要使用shutil.rmtree()
>>>os.rmdir('/var/tmp') #rmdir(),只能删除空目录;要删除非空目录要使用shutil.rmtree()
>>>os.unlink('mima') #unlink(),取消删除链接文件
>>>os.path. #查看os.path子模块的所有方法
>>>os.mkdir('abc') #mkdir(), 在当前路径下,创建一个目录'abc'
>>>os.path.abspath('abc') #abspath(), 获取abc文件的路径
>>>os.path.basename('/tmp/demo/abc') #获取最右边'/',右边的数据‘abc’
>>>os.path.basename('/tmp/demo/abc/') #basename(),获取最右边'/',右边的数据''
>>>os.path.dirname('/tmp/demo/abc') #dirname(), 获取最右边'/',左边的数据'/tmp/demo'
>>>os.path.split('/tmp/demo/abc') #split(), 路径切割,从最右边'/'开始,进行切割
>>>os.path.join('/tmp/demo', 'abc') #join(), 路径的拼接
>>>os.path.is #os.path.is<Tab><Tab>, 列出所有判断的方法
>>>os.path.isabs('tmp/abc/xyz') #'tmp/abc/xyz'是否是绝对路径,不管文件是否存在,False
>>>os.path.isabs('/tmp/abc/xyz') #'/tmp/abc/xyz'是否是绝对路径,不管文件是否存在,True
>>>os.path.isdir('/tmp/demo/abc') # 字符串是否为目录(文件必须存在,且必须是目录) ,True
>>>os.path.isdir('/tmp/demo/xyz') # 字符串是否为目录(文件必须存在,且必须是目录),False
>>>os.path.isfile('/etc/hosts') #字符串是否是文件(文件必须存在,且必须是文件),True
>>>os.path.isfile('/etc/') #字符串是否是文件(文件必须存在,且必须是文件),False
>>>os.path.islink('/etc/grub2.cfg') #字符串是否是链接文件(文件必须存在,且必须是链接文件),True
>>>os.path.exists('/etc/hostname') #判断字符串是否存在,/etc/hostname,True