导航:首页 > 编程语言 > python文件处理

python文件处理

发布时间:2022-02-07 03:36:59

‘壹’ python 文本文件处理

  1. 分隔日志文件存为小文件

  2. #coding:utf-8

  3. #file: FileSplit.py

  4. import os,os.path,time

  5. def FileSplit(sourceFile, targetFolder):

  6. sFile = open(sourceFile, 'r')

  7. number = 100000 #每个小文件中保存100000条数据

  8. dataLine = sFile.readline()

  9. tempData = [] #缓存列表

  10. fileNum = 1

  11. if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建

  12. os.mkdir(targetFolder)

  13. while dataLine: #有数据

  14. for row in range(number):

  15. tempData.append(dataLine) #将一行数据添加到列表中

  16. dataLine = sFile.readline()

  17. if not dataLine :

  18. break

  19. tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")

  20. tFile = open(tFilename, 'a+') #创建小文件

  21. tFile.writelines(tempData) #将列表保存到文件中

  22. tFile.close()

  23. tempData = [] #清空缓存列表

  24. print(tFilename + " 创建于: " + str(time.ctime()))

  25. fileNum += 1 #文件编号

  26. sFile.close()

  27. if __name__ == "__main__" :

  28. FileSplit("access.log","access")


分类汇总小文件:

#coding:utf-8

#file: Map.py


import os,os.path,re


def Map(sourceFile, targetFolder):

sFile = open(sourceFile, 'r')

dataLine = sFile.readline()

tempData = {} #缓存列表

if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建

os.mkdir(targetFolder)

while dataLine: #有数据

p_re = re.compile(r'(GET|POST)s(.*?)sHTTP/1.[01]',re.IGNORECASE) #用正则表达式解析数据

match = p_re.findall(dataLine)

if match:

visitUrl = match[0][1]

if visitUrl in tempData:

tempData[visitUrl] += 1

else:

tempData[visitUrl] = 1

dataLine = sFile.readline() #读入下一行数据

sFile.close()


tList = []

for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):

tList.append(key + " " + str(value) + ' ')


tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")

tFile = open(tFilename, 'a+') #创建小文件

tFile.writelines(tList) #将列表保存到文件中

tFile.close()


if __name__ == "__main__" :

Map("access\access.log1.txt","access")

Map("access\access.log2.txt","access")

Map("access\access.log3.txt","access")

3. 再次将多个文件分类汇总为一个文件。

#coding:utf-8

#file: Rece.py


import os,os.path,re


def Rece(sourceFolder, targetFile):

tempData = {} #缓存列表

p_re = re.compile(r'(.*?)(d{1,}$)',re.IGNORECASE) #用正则表达式解析数据

for root,dirs,files in os.walk(sourceFolder):

for fil in files:

if fil.endswith('_map.txt'): #是rece文件

sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')

dataLine = sFile.readline()

while dataLine: #有数据

subdata = p_re.findall(dataLine) #用空格分割数据

#print(subdata[0][0]," ",subdata[0][1])

if subdata[0][0] in tempData:

tempData[subdata[0][0]] += int(subdata[0][1])

else:

tempData[subdata[0][0]] = int(subdata[0][1])

dataLine = sFile.readline() #读入下一行数据

sFile.close()


tList = []

for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):

tList.append(key + " " + str(value) + ' ')


tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")

tFile = open(tFilename, 'a+') #创建小文件

tFile.writelines(tList) #将列表保存到文件中

tFile.close()


if __name__ == "__main__" :

Rece("access","access")

‘贰’ python 对文件进行处理。

python for symbian 里有一个linechace库,可以实现对文件每行的缓存,便于处理每一行的内容;
每行最后的32:T>G,34:G>A可以用正则表达式来处理。
*:linechace完全可以在任何Python环境使用。

‘叁’ Python 文件处理的几点注意事项

文件处理在编程中是常见的操作,文件的打开,关闭,重命名,删除,追加,复制,随机读写非常容易理解和使用。需要注意的是文件的安全关闭,采用with语句轻松便捷:
with open(pathname,”r”) as myfile:
do_some_with(myfile)

‘肆’ python的文件处理

问题表述看不明白
感觉应该是用正则做

‘伍’ PYTHON文件处理相关

search第一个参数扩展名,第二个参数根路径

importos

defsearch(s,path=os.path.abspath('.')):
forzinos.listdir(path):
ifos.path.isdir(path+os.path.sep+z):
print('Currnet:',path)
path2=os.path.join(path,z)
print('future:',path2)
search(s,path2)
elifos.path.isfile(path+os.path.sep+z):
ifos.path.splitext(z)[1].upper()==s:
withopen(os.path.join(path,z),'r')asf:
withopen('新的.txt','a')asfw:
fw.write(f.read())
print(os.path.join(path,z))

search('.TXT','H:\TEMP')

‘陆’ python小白 求助 读取txt文件,并进行数据处理

让写代码给5分,太没诚意了,哈哈,不过还是给你吧,没有测试过,你试试再说吧,执行的时候把最后一行的参数设置成你文件的存放位置就可以了

deffile_pro(file_dir):
importos
"""
输入一个文件夹,文件夹下是所有待处理文件
:paramfile_dir:待处理的文件所在的文件夹
:return:null
"""
#获取文件列表
file_list=os.listdir(file_dir)
#建立结果文件,与程序在同级目录
result_file=open('result.csv','a+',encoding='GBK')
forfileinfile_list:
file_to_pro=file_dir+os.sep+file
result=[]
fornum,lineinenumerate(open(file_to_pro)):
ifnum>=32:
ifline.split('')[2]=='3CD':
result.clear()
result+=line.split('')[6:]
last_result=file_to_pro+',3CD,'
foriteminresult:
last_result+=(str(int(item,16))+',')
result_file.writelines(last_result)
file_pro("c:\")

‘柒’ python文件操作问题

你好:

请看代码:

txtpath1=r"a.txt"
txtpath2=r"b.txt"
txtpath3=r"c.txt"
txtpath4=r"d.txt"

fpa=open(txtpath1)
fpb=open(txtpath2)
fpc=open(txtpath3)
fpd=open(txtpath4,"w")

arrD=[]
forkkkinrange(50):
arrD.append(0)

defWriteD():
forkkkkinarrD:
fpd.write(str(kkkk))
fpd.write("")
fpd.write(" ")

arrC=[]
forlinecinfpc.readlines():
arrC.append(linec.replace(" ",""))

arrB=[]
forlinebinfpb.readlines():
arrB.append(lineb.replace(" ",""))

forlineainfpa.readlines():
flag=True
linea=linea.replace(" ","")
foriinrange(len(arrB)):
ifarrB[i]==linea:
printlinea
printarrB[i]
printarrC[i]
flag=False
fpd.write(linea)
fpd.write(" ")
fpd.write(arrC[i])
fpd.write(" ")
ifflag:
printlinea
fpd.write(linea)
fpd.write(" ")
WriteD()

print"Done!"
fpa.close()
fpb.close()
fpc.close()
fpd.close()

‘捌’ python文件操作

我觉得要逐行的话最好这样写:

forlineinfo.readlines():

至于为什么直接fo可以迭代出每行,应该是open函数返回值的内部实现和返回值类型决定的(应该在c代码里,直接转open定义看不见实现细节)。

‘玖’ 想问python能处理哪些类型的文件

可以处理doc(x) xls (x)ppt(x)等文件,有相关的库,网络选一个。
文件格式基本上标准库里有处理html xml json csv等的
其他差不多都有第三方模块,题主自己搜索。

‘拾’ Python中文件处理

#coding=gbk
LB = [ "张三","李四","王五","12345","abcdfg1233"]
# 把上面列表中 含"12"子串的元素存入文件 "C:\\1.txt"
f = open("C:\\1.txt","wt")
for s in LB:
if s.find("12")>=0: #选择性写入,就是条件判断吧?
f.write( s+"\n")
f.close()
# 运行本程序后,查看 C:\1.txt
# 内容应为
# 12345
# abcdfg

阅读全文

与python文件处理相关的资料

热点内容
苹果手机如何设置服务器 浏览:932
迅雷下载游戏需要解压 浏览:851
3d平滑命令 浏览:39
必须去车管所解压 浏览:385
室友命令我 浏览:308
lol全部命令 浏览:38
用什么APP查指数 浏览:919
什么是作品源码 浏览:669
我的理想程序员该怎么写 浏览:840
英译中国现代散文选pdf 浏览:446
装饰设计模式java 浏览:21
linuxshell清屏命令 浏览:134
惠利app是什么 浏览:779
游戏端口读取服务器失败怎么弄 浏览:878
linux修复mbr 浏览:128
磁盘格式化基本命令 浏览:578
程序员掉入异世界 浏览:954
andlua画质助手源码 浏览:577
winrar解压格式怎么看 浏览:147
qt编程入门pdf 浏览:599