写一个python代码,批量替换txt文件中指定行的内容
时间: 2024-04-19 12:30:16 浏览: 18
好的,以下是代码实现:
filename = input("请输入文件名:")
with open(filename, 'w') as f:
while True:
string = input("请输入字符串:")
if string == '@':
break
f.write(string)
执行代码后,会提示输入文件名,输入后按回车键确认。然后会提示输入字符串,输入完一个字符串后按回车键确认,直到输入一个@为止,程序会自动结束并将输入的字符串写入指定的文件中。
相关问题
批量替换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" 替换为您要替换成的新内容。请注意,这段代码将会直接修改原始文件,请务必备份文件以防止意外情况发生。
python代码实现:批量修改文件夹中所有txt文件的第一列数字
可以使用Python的os和re模块来实现批量修改文件夹中所有txt文件的第一列数字。具体步骤如下:
1. 首先导入所需的模块:
```python
import os
import re
```
2. 定义一个函数,用于修改txt文件的第一列数字。该函数需要接收一个txt文件的路径作为参数,然后读取文件内容,使用正则表达式找到第一列数字并进行修改,最后将修改后的内容写回到文件中。
```python
def modify_first_num(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
pattern = r'^(\d+)\s+(.*)$'
new_content = re.sub(pattern, r'100 \2', content)
with open(file_path, 'w', encoding='utf-8') as f:
f.write(new_content)
```
上述代码中,正则表达式`^(\d+)\s+(.*)$`用于匹配以数字开头的一行,并将第一列数字和剩余内容分别捕获到两个组中。然后使用`re.sub()`方法将第一列数字替换为100,保留剩余内容不变。
3. 定义一个函数,用于遍历指定文件夹下的所有txt文件,并对每个文件调用上述函数进行修改。
```python
def batch_modify(folder_path):
for root, dirs, files in os.walk(folder_path):
for filename in files:
if filename.endswith('.txt'):
file_path = os.path.join(root, filename)
modify_first_num(file_path)
```
上述代码中,使用`os.walk()`方法遍历指定文件夹下的所有文件和子文件夹,并使用`os.path.join()`方法拼接文件路径,然后对每个txt文件调用`modify_first_num()`函数进行修改。
4. 最后,调用`batch_modify()`函数并传入文件夹路径参数即可批量修改所有txt文件的第一列数字。
```python
folder_path = '/path/to/folder'
batch_modify(folder_path)
```
注意替换上述代码中的`/path/to/folder`为实际的文件夹路径。