python改写txt
时间: 2023-10-17 19:34:16 浏览: 142
Python实现批量读取txt文件并转换为excel的方法示例.zip
有多种方法可以使用Python来修改txt文件。以下是三种常见的方法:
1. 使用字符串替换方法:这种方法是将原文件内容和要替换的内容写入一个新文件中,并将原文件删除,将新文件重命名为原文件名。代码如下:
```python
import os
def updateFile(file, old_str, new_str):
with open(file, "r", encoding="utf-8") as f1, open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
updateFile(r"D:\zdz\myfile.txt", "zdz", "daziran")
```
该方法将"D:\zdz\"路径下的myfile.txt文件中的所有"zdz"替换为"daziran"。
2. 使用正则表达式替换方法:这种方法使用re.sub方法来替换文件内容。代码如下:
```python
import re
import os
def updateFile(file, old_str, new_str):
with open(file, "r", encoding="utf-8") as f1, open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(old_str, new_str, line))
os.remove(file)
os.rename("%s.bak" % file, file)
updateFile(r"D:\zdz\myfile.txt", "zdz", "daziran")
```
该方法同样将"D:\zdz\"路径下的myfile.txt文件中的所有"zdz"替换为"daziran"。
3. 直接修改原文件方法:这种方法直接在原文件中修改要替换的字符串,并将修改后的内容覆盖原文件。代码如下:
```python
def updateFile(file, old_str, new_str):
file_data = ""
with open(file, "r", encoding="utf-8") as f:
for line in f:
if old_str in line:
line = line.replace(old_str, new_str)
file_data = line
with open(file, "w", encoding="utf-8") as f:
f.write(file_data)
updateFile(r"D:\zdz\myfile.txt", "zdz", "daziran")
```
该方法同样将"D:\zdz\"路径下的myfile.txt文件中的所有"zdz"替换为"daziran"。
希望以上方法可以帮助到您。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [用python修改文件内容修改txt内容的3种方法](https://blog.csdn.net/qdPython/article/details/109513786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文