您的位置:首页 > 编程语言 > Python开发

轻松python之文件专题-关于目录树的一些操作

2015-09-03 22:07 741 查看
1.遍历目录树

使用os.walk方法

>>> import os
>>> for pathname,dirname,filename in os.walk("c:/Python34/TestDict"):
print('path:'+pathname)
print('dir:'+str(dirname))
print('file:'+str(filename))

path:c:/Python34/TestDict
dir:['Test1', 'Test2']
file:['123.txt', 'input_file.txt', 'LICENSE.txt', 'NEWS.txt', 'output_file.txt', 'README.txt']
path:c:/Python34/TestDict\Test1
dir:[]
file:['output_file.txt']
path:c:/Python34/TestDict\Test2
dir:[]
file:['input_file.txt']


说明一下,os.walk返回三个参数,第一个是路径,第二个是路径下有没有文件夹,第三个是路径下的文件

2.搜查某路径下所有个文件

>>> import os
>>> for pathname,dirname,filename in os.walk("c:/Python34/TestDict"):
if  'Test1' in pathname:
print('path:'+pathname)
print('dirs:'+str(dirname))
print('files:'+str(filename))

path:c:/Python34/TestDict\Test1
dirs:[]
files:['output_file.txt']
>>>


我们可以将上面的代码封装成一个方法

>>> import os
>>> def searchFile(keyWord,root):
for pathname,dirname,filename in os.walk(root):
if  keyWord in pathname:
print('path:'+pathname)
print('dirs:'+str(dirname))
print('files:'+str(filename))

>>> searchFile('Test1',"c:/Python34/TestDict")
path:c:/Python34/TestDict\Test1
dirs:[]
files:['output_file.txt']


3.搜索某路径下某名字的文件

>>> def searchFile(keyWord,root):
for path,subdirs,files in os.walk(root):
#print(keyWord)
#print(files)
if  keyWord in files:
print(os.path.join(path,keyWord))

>>> searchFile("input_file.jpeg","c:/Python34/TestDict")
c:/Python34/TestDict\input_file.jpeg
c:/Python34/TestDict\Test2\input_file.jpeg
>>>


4.批量修改某文件夹下某种文件的后缀
>>> import os
>>> def swapFileExtendsion(root,oldExtends,newExtends):
if oldExtends[:1]!='.':
oldExtends='.'+oldExtends
extendLength=-len(oldExtends)
if newExtends[:1]!='.':
newExtends='.'+newExtends
for path,subdirs,files in os.walk(root):
for oldFile in files:
#print(oldFile [extendLength:])
#print(oldExtends)
if oldFile [extendLength:]==oldExtends:
oldFile=os.path.join(path,oldFile)
newFile=oldFile[:extendLength]+newExtends
os.rename (oldFile,newFile)


这个场景主要发生在服务器经常系统生产某些文件,而这些文件的后缀名错了,需要改过来

就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: