鱼C论坛

 找回密码
 立即注册
查看: 913|回复: 3

文件夹下文件的读取

[复制链接]
发表于 2018-5-10 22:53:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
现在有个主文件夹:woshiwenjianjia   它下面有三个(实际iter很多个,想写个迭代)子文件夹:woshiwenjianjia1    woshiwenjianjia2   woshiwenjianjia3  。然后每个子文件夹里面各有三个txt文件:wenjianyi.txt   wenjianer.txt   wenjiansan.txt  。            请问怎么把每个子文件夹里面的第一个文件wenjianyi.txt(实际每个子文件夹的第一个文件不一定同名)的第一行读出来,拼在一起写成一个文件file_w。(请看贴图)

简述一下:就是依次读取某一个主文件夹里面的子文件夹,把每个子文件里的第一个文件的第一行读出写入到file_w。
谢谢各位大佬了,还请详细的帮码代码。
028QKYBFAL2)VRXG}14{Y0R.png
PL@8M6Y(_@PEY99[L]_IT0D.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-5-11 10:05:24 | 显示全部楼层



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 11:06:02 | 显示全部楼层
  1. import os

  2. def createdirs():

  3.     # create dirs
  4.     workpath = os.getcwd()

  5.     for i in range(3):
  6.         dirname = '%s%s'%('dir', str(i))
  7.         
  8.         os.mkdir(dirname)

  9.         os.chdir(dirname)

  10.         for j in range(3):
  11.             filename = '%s%s'%('file', str(j))
  12.             with open(filename, 'w', encoding='utf-8') as f:
  13.                 f.write('%s%s'%(dirname, filename))

  14.         os.chdir(os.pardir)
  15.    
  16. def main():

  17.     createdirs()

  18.     line_list = []

  19.     dir_list = os.listdir()
  20.    
  21.     for item in dir_list:
  22.         if os.path.isdir(item):
  23.             os.chdir(item)
  24.             
  25.             file_list = os.listdir()
  26.             
  27.             for file in file_list:
  28.                 if os.path.isfile(file):
  29.                     with open(file, 'r', encoding='utf-8') as f:
  30.                             line = f.readline()
  31.                     line_list.append(line)
  32.                     os.chdir(os.pardir)
  33.                     break
  34.    
  35.     with open('new_file.txt', 'w', encoding='utf-8') as new_file:
  36.         for each_line in line_list:
  37.             new_file.write(each_line )
  38.             
  39.    

  40. if __name__ == '__main__':
  41.     main()
复制代码


写的不算严谨 勉强算是实现
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 14:28:53 | 显示全部楼层
hi 我的方法如下,请参考

  1. '''
  2. 查询用户指定的目录,将该目录下的每一个文件(含子目录中的文件)的第一句 读取出来,形成一个记录文件
  3. '''

  4. import os

  5. list1 = [ ]

  6. def get(direc):

  7.     os.chdir(direc)
  8.    
  9.     for each_file in os.listdir(os.curdir): #遍历指定目录下的 文件 和 文件夹
  10.         if os.path.isdir(each_file): #如果是目录,进行递归遍历
  11.             get(each_file)
  12.             os.chdir(os.pardir) #返回上一级目录,否则会陷入无限递归
  13.         else:  #如果是文件,读取文件的第一句
  14.             with open( each_file) as f:
  15.                 list1.append( f.readline())


  16. direc = input('请输入要查询的目录:')

  17. get(direc)


  18. with open('D:/tmp1/record.txt', 'w' ) as f: #将每个文件的第一句写入到 record.txt中
  19.     f.writelines(list1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-30 02:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表