python操作文件和目录查看、创建、删除、复制

python内置了os模块可以直接调用操作系统提供的接口函数,os.name查询的是操作系统,‘nt’表示windows系统

>>> import os
>>> os.name
'nt'

使用os.environ查看环境变量:

>>> os.environ
environ({'ADSK_3DSMAX_X64_2014':AppData\\Roaming', ……})

还可以获得某个具体的环境变量的值:

>>> os.environ.get('path')
'C:\\ProgramData\\Oracle\\Java\\ja……'
>>> os.environ.get('haha','nice') #如果没有指定的环境变量,则返回指定的值
'nice'

查看当前目录的绝对路径:

>>> os.path.abspath('.')
'C:\\Users\\WC'

在某个目录下面创建新目录,需要两个步骤:先join(合成路径),再mkdir()创建

>>> os.path.join('E:\Python3.6.3\workspace','测试文件夹')
'E:\\Python3.6.3\\workspace\\测试文件夹'
>>> os.mkdir('E:\\Python3.6.3\\workspace\\测试文件夹')

删除目录:

>>> os.rmdir('E:\\Python3.6.3\\workspace\\测试文件夹')

拆分目录或者文件的路径,拆分结果分为两部分,后一部分总是最后级别的目录或者文件名:

>>> os.path.split('E:\Python3.6.3\workspace\err.py')
('E:\\Python3.6.3\\workspace', 'err.py')
>>> os.path.split('E:\Python3.6.3\workspace')
('E:\\Python3.6.3', 'workspace')

获得文件扩展名,返回的是一个list:

>>> os.path.splitext('E:\Python3.6.3\workspace\err.py')
('E:\\Python3.6.3\\workspace\\err', '.py')

重命名:

>>> os.rename('E:\\Python3.6.3\\workspace\\err.py','E:\\Python3.6.3\\workspace\\reerr.py')

切换目录:

>>> os.chdir('E:\\Python3.6.3\\workspace\\')
>>> os.path.abspath('.')
'E:\\Python3.6.3\\workspace'

复制文件,需要使用python中高级的文件操作模块shutil。shutil.copy(s,d)可以实现文件复制功能,s,d都是字符串格式,s表示源文件,d表示目的文件或者目录,当d是文件名时,它会被用来当做复制后的文件名称,效果相当于 复制 +重命名:

>>> import shutil
>>> import os
>>> shutil.copy('first.py','E:\Python3.6.3\workspace\备份')
'E:\\Python3.6.3\\workspace\\备份\\first.py'
>>> shutil.copy('first.py','E:\\Python3.6.3\\workspace\\备份\\first_copy.py')
'E:\\Python3.6.3\\workspace\\备份\\first_copy.py'

(以上注意的是,当重命名一个文件的时候,windows下的目录路径要使用\\代替\)

复制文件的内容:

>>> shutil.copyfile('E:\\Python3.6.3\\workspace\\备份\\first.py','E:\\Python3.6.3\\workspace\\备份\\first_copy.py')
'E:\\Python3.6.3\\workspace\\备份\\first_copy.py'

判断对象是不是目录\文件:

>>> os.path.isdir('E:\Python3.6.3\workspace\first.py')
False
>>> os.path.isdir('E:\Python3.6.3\workspace')
True
>>> os.path.isfile('E:\Python3.6.3\workspace\hello.py')
True
>>> os.path.isfile('E:\Python3.6.3\workspace')
Fals

练习:列举指定目录下包括子目录中所有的包含指定字符串的文件

>>> import os
>>> def searchStr(d,str):
... for i in os.listdir(d):
... sd = os.path.join(os.path.abspath(d),i)
... if str in i:
... print(sd)
... if os.path.isdir(sd):
... searchStr(sd,str)
...
>>> searchStr('E:\Python3.6.3\workspace','f')
E:\Python3.6.3\workspace\err_logginginfo.py
E:\Python3.6.3\workspace\first.py
E:\Python3.6.3\workspace\备份\first.py
E:\Python3.6.3\workspace\备份\first_copy.py
上一篇:Linux系统下进入目录文件需要什么权限?


下一篇:[Oracle][DATAGUARD] PHYSICAL STANDBY环境里,11.2.0.4 , 也可以使用Pfile来运行Primary和Standby(虽然很少有人用)