写一个python代码,批量替换txt文件中指定行的内容
时间: 2024-04-19 15:30:16 浏览: 142
好的,以下是代码实现:
filename = input("请输入文件名:")
with open(filename, 'w') as f:
while True:
string = input("请输入字符串:")
if string == '@':
break
f.write(string)
执行代码后,会提示输入文件名,输入后按回车键确认。然后会提示输入字符串,输入完一个字符串后按回车键确认,直到输入一个@为止,程序会自动结束并将输入的字符串写入指定的文件中。
相关问题
使用python写一段代码,批量修改txt的前两个数字
当你想要批量修改Python文本文件(`.txt`)的前两个数字时,你可以使用内置的`open()`函数读取文件内容,然后使用字符串操作替换前两个数字,最后用`write()`函数将处理后的内容写回原文件。这里是一个简单的示例:
```python
def batch_replace_digits(input_file, output_file, new_numbers):
# 打开文件并读取所有行
with open(input_file, 'r') as file:
lines = file.readlines()
# 对每一行处理,替换前两个数字为新数字
for i, line in enumerate(lines):
if len(line) > 2: # 检查是否有足够的字符来替换数字
old_numbers = [int(num) for num in line[:2]] # 提取前两个数字
lines[i] = ''.join(str(new_numbers[j]) + num for j, num in enumerate(line, start=2)) # 替换数字
# 将处理后的行写回文件
with open(output_file, 'w') as file:
file.writelines(lines)
# 调用函数并传入需要修改的文件路径、新的数字以及输出文件名(如果不指定,会覆盖原文件)
batch_replace_digits('input.txt', 'output.txt', [10, 20])
```
在这个例子中,假设输入文件有两组数字,每行最多有两个数字。函数会将每行的前两个数字分别替换为列表`new_numbers`的第一个和第二个元素。
批量替换txt文件内容
您好!如果您想要批量替换一个或多个 TXT 文件的内容,您可以使用编程语言来实现。这里以 Python 为例,您可以使用以下代码来完成:
```python
import os
# 获取指定目录下所有的 TXT 文件
def get_txt_files(directory):
txt_files = []
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(".txt"):
txt_files.append(os.path.join(root, file))
return txt_files
# 批量替换文件内容
def replace_content(txt_files, old_content, new_content):
for file in txt_files:
with open(file, 'r') as f:
content = f.read()
# 替换内容
replaced_content = content.replace(old_content, new_content)
with open(file, 'w') as f:
f.write(replaced_content)
# 指定需要替换的目录、旧内容和新内容
directory = "your_directory_path"
old_content = "old_content"
new_content = "new_content"
# 获取所有的 TXT 文件
txt_files = get_txt_files(directory)
# 执行批量替换
replace_content(txt_files, old_content, new_content)
```
请将 "your_directory_path" 替换为您要操作的目录路径,"old_content" 替换为您要替换的旧内容,"new_content" 替换为您要替换成的新内容。请注意,这段代码将会直接修改原始文件,请务必备份文件以防止意外情况发生。
阅读全文