提取文件中括号里面带点的类容并且写到新的文件,文件名传参 python脚本
时间: 2024-02-29 12:52:40 浏览: 168
你可以将文件名作为参数传递给 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'\((\w+\.\w+)\)'
matches = re.findall(pattern, content)
# 将匹配结果写入新文件
with open(output_file, 'w') as f:
for match in matches:
f.write(match + '\n')
```
以上脚本中,使用了 `sys.argv` 来获取命令行参数。第一个参数是脚本本身的文件名,从第二个参数开始才是用户传递的参数。因此,需要判断 `sys.argv` 的长度是否大于等于 3,来确保用户传递了足够的参数。如果参数不足,则输出使用帮助并退出脚本。
然后,使用 `input_file` 和 `output_file` 变量来保存输入文件和输出文件的文件名。这些变量可以在后面的代码中使用。
读取文件内容和提取括号里面带点的内容的代码和之前的示例脚本相同。最后,使用 `output_file` 变量来保存输出文件的文件名,并将匹配结果写入到这个文件中。
阅读全文