赞
踩
Python 写文件是常用的操作,这里整理一下;
1. write txt
- namelist=[]
- namelist.append(input.item())
-
- with open("namelist.txt", "w",encoding="utf-8") as f:
- for i in namelist:
- f.write(str(i)+'\n')
2 .write csv 表格;
- fileNameID =0
- def write_csv(fileNameID,filename,file_md5):
- # 表头
- header = ["序号", "名称", "MD5"]
-
- areas =[str(fileNameID) ,str(filename), str(file_md5)]
- with open('file_md5.csv', mode='a', encoding='utf_8_sig',newline="") as file_obj:
- # 1:创建writer对象
- writer = csv.writer(file_obj)
- # 2:写表头
- if fileNameID==0:
- writer.writerow(header)
- writer.writerow(areas)
例:计算目录下所有文件的MD5值
- #计算目录下所有文件的MD5值
- # coding:utf-8
- import os
- import hashlib
- import csv
-
- RootDir = './Release'
- fileNameID =0
- def write_csv(fileNameID,filename,file_md5):
- # 表头
- header = ["序号", "名称", "MD5"]
- # uheader = []
- # for i in header:
- # uheader.append(i.encode("utf-8"))
- areas =[str(fileNameID) ,str(filename), str(file_md5)]
- with open('file_md5.csv', mode='a', encoding='utf_8_sig',newline="") as file_obj:
- # 1:创建writer对象
- writer = csv.writer(file_obj)
- # 2:写表头
- if fileNameID==0:
- writer.writerow(header)
- writer.writerow(areas)
-
- def md5_test(dir):
- global fileNameID
- list_item = os.listdir(dir)
- for f in list_item:
- path = os.path.join(dir,f)
- if os.path.isdir(path):
- md5_test(path)
- #print(tuple_result[0],tuple_result[1])
- else:
- if path.endswith('.dll') or path.endswith('.exe'):
- with open(path,'rb') as fp:
- data = fp.read()
- file_md5 = hashlib.md5(data).hexdigest()
- #print(fileNameID,',',f,',',file_md5)
- write_csv(fileNameID,f,file_md5)
-
- # else:
- # print(fileNameID, ',', f, ',', file_md5)
- fileNameID += 1
- #return path,file_md5
-
- if __name__ == '__main__':
- md5_test(RootDir)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。