python把一个txt文件按指定行数拆分写到多个新txt文件里面
时间: 2024-02-22 21:58:28 浏览: 142
好的,可以使用Python的文件读写功能和循环语句来实现这个需求。以下是一个简单的代码示例:
```python
def split_file(filename, num_lines):
# 打开原始文件,读取内容
with open(filename) as f:
lines = f.readlines()
# 计算文件被拆分成几个文件
num_files = len(lines) // num_lines
if len(lines) % num_lines != 0:
num_files += 1
# 循环写入新的文件
for i in range(num_files):
# 拼接新文件名
new_filename = f"{filename}_{i+1}.txt"
# 计算新文件的行数
start = i * num_lines
end = start + num_lines
if end > len(lines):
end = len(lines)
# 写入新文件
with open(new_filename, "w") as f:
f.writelines(lines[start:end])
```
这个函数接受两个参数:原始文件名和每个新文件包含的行数。它首先打开原始文件,读取所有行,然后计算文件应该被拆分成几个小文件。接下来,它使用循环将每个新文件写入磁盘。在每个循环迭代中,它计算新文件的名称,以及新文件应该包含的行数。最后,它使用 `writelines()` 方法将行写入新文件。
你可以在调用这个函数时指定原始文件名和每个新文件应包含的行数,例如:
```python
split_file("example.txt", 1000)
```
这将把 `example.txt` 文件拆分成每个包含1000行的文件,并将它们保存在 `example.txt_1.txt`、`example.txt_2.txt`、`example.txt_3.txt` 等文件中。
阅读全文