1. 读取文件(在磁盘中新建一个文件为document.txt,将下面的内容复制到该文件中) 2. 将文件写出到document.txt.bak文件作为备份 3. 同时,将文件内标记为测试的数据行丢弃 document.txt文件内容: name,stundentID,birth,class,remarks 张三,001,20010101,1班,班长 李四,002,20020102,2班,团支书 王五,003,20030401,3班,班长 赵六,004,20020601,4班,测试 周七,005,20010205,5班,班长
时间: 2023-08-16 18:09:04 浏览: 122
以下是Python的代码实现:
```python
import shutil
# 读取文件
with open('document.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 写出备份文件
shutil.copyfile('document.txt', 'document.txt.bak')
# 处理数据并写回原文件
with open('document.txt', 'w', encoding='utf-8') as f:
for line in lines:
if '测试' not in line:
f.write(line)
```
代码的思路是先用`readlines()`函数读取文件的所有行,然后使用`copyfile()`函数备份原文件。接着,遍历每一行,如果该行不包含字符串“测试”,则将其写回原文件。最后,文件中被标记为测试数据的行就被丢弃了。
相关问题
1.读取文件(在磁盘中新建一个文件为document.txt,将下面的内容复制到该文件中) 2.将文件写出到document.txt.bak文件作为备份 3.同时,将文件内标记为测试的数据行丢弃 document.txt文件内容: name,stundentID,birth,class,remarks 张三,001,20010101,1班,班长 李四,002,20020102,2班,团支书 王五,003,20030401,3班,班长 赵六,004,20020601,4班,测试 周七,005,20010205,5班,班长
以下是 Python 代码实现:
```python
import os
# 读取文件
with open("document.txt", "r") as f:
lines = f.readlines()
# 将文件写出到备份文件
with open("document.txt.bak", "w") as f:
f.writelines(lines)
# 将标记为测试的行丢弃
new_lines = []
for line in lines:
if "测试" not in line:
new_lines.append(line)
# 将处理后的内容写回原文件
with open("document.txt", "w") as f:
f.writelines(new_lines)
```
运行后,document.txt 文件内容变为:
```
name,stundentID,birth,class,remarks
张三,001,20010101,1班,班长
李四,002,20020102,2班,团支书
王五,003,20030401,3班,班长
周七,005,20010205,5班,班长
```
其中,第一行为原始内容,第四行的 "赵六,004,20020601,4班,测试" 被删除了。同时,document.txt.bak 文件内容与原文件相同。
第二题:(文件) 1. 读取文件(在磁盘中新建一个文件为document.txt,将下面的内容复制到该文件中) 2. 将文件写出到document.txt.bak文件作为备份 3. 同时,将文件内标记为测试的数据行丢弃 document.txt文件内容: name,stundentID,birth,class,remarks 张三,001,20010101,1班,班长 李四,002,20020102,2班,团支书 王五,003,20030401,3班,班长 赵六,004,20020601,4班,测试 周七,005,20010205,5班,班长
代码如下:
```python
import shutil
# 读取文件
with open('document.txt', 'r', encoding='utf-8') as f:
content = f.readlines()
# 将文件写出到document.txt.bak文件作为备份
shutil.copyfile('document.txt', 'document.txt.bak')
# 将文件内标记为测试的数据行丢弃
new_content = []
for line in content:
if '测试' not in line:
new_content.append(line)
# 重新写入文件
with open('document.txt', 'w', encoding='utf-8') as f:
f.writelines(new_content)
```
执行完毕后,document.txt 文件中的内容变成:
```
name,stundentID,birth,class,remarks
张三,001,20010101,1班,班长
李四,002,20020102,2班,团支书
王五,003,20030401,3班,班长
周七,005,20010205,5班,班长
```
其中,原本包含“测试”的那行已经被删除了。备份文件 document.txt.bak 的内容和原文件相同。
阅读全文
相关推荐
















