python 遍历文件夹

1.遍历文件夹
  1. import os
  2. import os.path
  3. rootdir = “d:\data” # 指明被遍历的文件夹

  4. for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
  5.     for dirname in dirnames: #输出文件夹信息
  6.      print "parent is:" + parent
  7.      print "dirname is" + dirname

  8.     for filename in filenames: #输出文件信息
  9.      print "parent is": + parent
  10.      print "filename is:" + filename
  11.    print "the full name of the file is:" + os.path.join(parent,filename) #输出文件路径信息

  12.                                                                          #windows下为:d:\data\query_text\EL_00154
2.查找中文字符

  1. import re 
  2. pchinese=re.compile(ur'([\u4e00-\u9fa5]+)+?') #判断是否为中文的正则表达式
  3. f=open("D:\\workspace\\saas\\core\\admin\\controller\\sale\\ctl.tools.php") #打开要提取的文件
  4. fw=open("getdata.txt","w")#打开要写入的文件
  5. for line in f.readlines(): #循环读取要读取文件的每一行
  6.     m=pchinese.findall(line.decode('utf8')) #使用正则表达获取中文
  7.     if m:
  8.         str1='|'.join(m)#同行的中文用竖杠区分
  9.         str2=str1
  10.         fw.write(str2)#写入文件
  11.         fw.write("\n")#不同行的要换行
  12. f.close()
  13. fw.close()#

3.遍历文件夹,并将文件中中文写入文件

  1. #coding=utf-

  2. import re, os
  3. def find_chn(infile, outfile):
  4.     pchinese=re.compile(ur'([\u4e00-\u9fa5]+)+?') #判断是否为中文的正则表达式
  5.     f=open(infile) #打开要提取的文件
  6.     flag = 0
  7.     for line in f.readlines(): #循环读取要读取文件的每一行
  8.         if line.find('//')!= -1:#如果有注释,直接跳过
  9.             continue
  10.         if line.find('/*')!= -or line.find('<!--')!= -1:
  11.             flag=1
  12.         if line.find('*/')!= -or line.find('-->')!= -1:
  13.             flag = 0
  14.             continue
  15.         if flag==1:
  16.             continue
  17.         m=pchinese.findall(line.decode('utf8')) #使用正则表达获取中文
  18.         if m:
  19.             str1='|'.join(m)#同行的中文用竖杠区分
  20.             str2=str1
  21.             outfile.write(str2)#写入文件
  22.             outfile.write("\n")#不同行的要换行
  23.             print str2
  24.     f.close()


  25. fw=open("getdata.txt","a+")#打开要写入的文件
  26. for parent,dirnames,filenames in os.walk("D:\\workspace\\saas\\core\\shop\\view\\gallery\\"): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字

  27.     for filename in filenames: #输出文件信息
  28.         print os.path.join(parent,filename) 
  29.         find_chn(os.path.join(parent,filename), fw)

  30. fw.close()#
Python遍历文件夹的方法有多种,其中一种常用的方法是使用os模块的listdir函数来获取文件夹下的所有文件和文件夹的名称。然后可以使用isdir函数来判断每个名称对应的路径是否是文件夹,如果是文件夹,则可以进行进一步的递归遍历。以下是一个示例代码: ```python import os def scan_folder(folder_path): files = os.listdir(folder_path) for file in files: file_path = os.path.join(folder_path, file) if os.path.isdir(file_path): scan_folder(file_path) else: print(file_path) # 调用函数来遍历文件夹 scan_folder("D:\\") ``` 这段代码通过递归的方式遍历了指定文件夹下的所有文件,如果遇到文件夹,则会进一步递归遍历文件夹下的内容,并打印出所有文件的路径。请注意,该代码只会输出文件路径,不会输出文件夹里面的文件夹或文件。如果需要遍历文件夹下的所有文件和文件夹,请参考方法二。 另外,还可以使用os.walk函数来实现文件夹遍历,该函数会返回一个生成器,可以逐层遍历文件夹下的所有文件和文件夹。以下是一个示例代码: ```python import os def scan_folder(folder_path): for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) print(file_path) # 调用函数来遍历文件夹 scan_folder("D:\\") ``` 这段代码使用了os.walk函数来逐层遍历文件夹下的所有文件和文件夹,然后通过循环打印出所有文件的路径。该方法可以输出文件夹里面的文件夹和文件的路径。 总结起来,Python遍历文件夹可以使用os模块的listdir函数结合递归或者使用os.walk函数来实现。这样可以方便地获取文件夹下的所有文件和文件夹,并进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python---如何使用python遍历文件夹下的所有文件(输出所有文件夹以及文件)](https://blog.csdn.net/m0_59081230/article/details/121320471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python递归遍历查询文件 & 文件夹](https://blog.csdn.net/weixin_51033461/article/details/123865385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值