合并同一文件夹所有子文件
本帖最后由 家清 于 2018-12-8 14:08 编辑有时候要合并抓包的日志的时候很麻烦,百度了很久也没找到合适的。只好自己写了,新手,新手,写的不好。
import os
import datetime
l=[]
docList = os.listdir(r'C:\Users\Administrator\Desktop\text')#特定目录下的文件存入列表
docList.sort() # 显示当前文件夹下所有文件并进行排序
for i in docList:
print(i)
ls=open(r'C:\Users\Administrator\Desktop\text\\'+i,'r',encoding='utf-8')
ls.close
for ii in ls:
ifnot ii inl:
print(ii.find("\n"))
if ii.find("\n") > -1 :
l.append(ii)
else:
l.append(ii+"\n\r")
print(ii)
str1=''.join(l)
fr=open(r'C:\Users\Administrator\Desktop\text\qq.txt','a',encoding='utf-8')
fr.write(str1)
fr.close()
家清 发表于 2018-12-7 21:01
每行都读取并判断只是为了去除重复的内容,因为我这是合并qq账号,重复的qq账号对我没用
哦哦,你每一行都是QQ账号啊,你可以用pandas包读取txt,然后dataframe append,之后dataframe对列数据去重,存为txt即可,因为pandas底层是C语言等实现的,快很多,当然看你的数据量好像也不是很大,不一定需要用到。我最近对个股数据弄多次项经常用pandas(因为python效率太慢,按行遍历跑得跑个几个月,cpu只能占到40%) 吾爱支持 发表于 2018-12-7 07:33
臆断下楼主的意思,是不是把一个文件夹下所有子文件合到一个文件夹下,
如果这样是不是应该有个路径输入, ...
这个只是合并一个目录下面的所有文件,不适有子文件夹的 应该有现成的package,每个txt都每行解析如果大的话会比较慢吧? 第一次for循环的文件对象这么早就关闭了,第二个for循环还能使用文件对象吗? 第二个for循环还能使用文件对象吗 不错,谢谢分享 臆断下楼主的意思,是不是把一个文件夹下所有子文件合到一个文件夹下,
如果这样是不是应该有个路径输入,想合并哪个就输入哪个……
哪里理解的不对请楼主指点…… python真是全能啊 mb181 发表于 2018-12-7 07:19
第二个for循环还能使用文件对象吗
第二个for是循环打开目录下面的文件并读取内容 kizzlepc 发表于 2018-12-7 01:54
第一次for循环的文件对象这么早就关闭了,第二个for循环还能使用文件对象吗?
只是读取文件内容到临时变量而已,没有用文件对象
页:
[1]
2