利用Python实现文件拆分

利用python实现文件拆分

工作中需要把一个大文件。以指定行分割成几份小文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- coding:utf-8 -*-
from datetime import datetime
import os

def Main():
source_dir = 'chaifen.txt'
if not os.path.exists("split"):
os.mkdir(r"split")


target_dir = 'split'

# 计数器
flag = 0
input("请把需要拆分的文件命名为chaifen.txt,命名好后按回车继续")
# 文件名
name = 1
chaifen_line = int(input("请输入要以多少行为标准进行拆分: "))

# 存放数据
dataList = []

print("开始。。。。。")
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

with open(source_dir, 'r' ,encoding='utf-8') as f_source:
for line in f_source:
flag += 1
dataList.append(line)
if flag == chaifen_line:
filePath = os.path.join(target_dir, "new_chaifei_" + str(name) + ".txt")
with open( filePath, 'w+', encoding='utf-8') as f_target:
for data in dataList:
f_target.write(data)
name += 1
flag = 0
dataList = []

# 处理最后一批行数少于4.5万行的
filePath = os.path.join(target_dir, "new_chaifei_" + str(name) + ".txt")
with open(filePath, 'w+') as f_target:
for data in dataList:
f_target.write(data)

print("完成。。。。。")
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))


if __name__ == "__main__":
Main()

把需要拆分的文件放在当前脚本目录命名为chaifen.txt就可以了

1
2
1.先生成.exe文件。方便其他电脑也可以直接运行
pyinstaller -F -i zidonghua\tu\favicon.ico chaifen.py

运行完之后会在spilt目录生成新的拆分后的文件。

评论


:D 一言句子获取中...

加载中,最新评论有1分钟缓存...