提取文件中括号里面所有类容但不包含括号并且写到新的文件,文件名传参 python脚本
时间: 2024-02-29 07:52:44 浏览: 13
你可以使用类似于上面的 Python 脚本来提取文件中所有括号里面的内容,并且将结果写入到新的文件中。以下是一个示例脚本:
```python
import re
import sys
# 获取文件名参数
if len(sys.argv) < 3:
print("Usage: python script.py input_file output_file")
sys.exit(1)
input_file = sys.argv[1]
output_file = sys.argv[2]
# 读取文件内容
with open(input_file, 'r') as f:
content = f.read()
# 提取所有括号内的内容
pattern = r'\((.*?)\)'
matches = re.findall(pattern, content)
# 将匹配结果写入新文件
with open(output_file, 'w') as f:
for match in matches:
f.write(match + '\n')
```
以上脚本中,除了提取所有括号内的内容外,还使用了文件读取和写入操作。通过 `with open()` 语句打开文件,并使用 `read()` 方法读取文件内容。使用 `with open()` 语句打开新文件,并使用 `write()` 方法将匹配结果写入文件。这里每个匹配结果后面加上了换行符 `\n`,以便让每个匹配结果占用新文件中的一行。
注意,正则表达式中的 `.*?` 表示匹配任意字符,但是尽量少匹配。这样可以确保在遇到多个括号嵌套的情况时,也能正确提取出所有的括号内的内容。