提取文件中括号里面所有类容但不包含括号并且写到新的文件,文件名传参 python脚本,打印结果
时间: 2024-02-29 22:52:52 浏览: 196
好的,我理解你的问题了。你想要一个 Python 脚本,能够从一个指定的文件中提取所有括号里面的内容,并且把提取出来的内容写入到一个新文件中,对吧?那我可以给你一个简单的实现。
首先,你需要传入两个参数:原始文件的文件名和新文件的文件名。你可以使用 `sys.argv` 来获取这些参数。接下来,你可以打开原始文件,读取其中的内容,然后使用正则表达式来匹配括号中的内容。最后,把匹配到的内容写入到新文件中即可。
下面是一个简单的实现:
```python
import sys
import re
# 获取参数
input_file = sys.argv[1]
output_file = sys.argv[2]
# 打开原始文件
with open(input_file, 'r') as f:
content = f.read()
# 匹配括号中的内容
matches = re.findall(r'\((.*?)\)', content)
# 将匹配到的内容写入到新文件中
with open(output_file, 'w') as f:
for match in matches:
f.write(match + '\n')
# 打印结果
print(matches)
```
在这个实现中,我们首先使用 `sys.argv` 获取了传入的参数。然后,我们打开了原始文件,并且使用 `re.findall` 函数匹配了所有括号中的内容。最后,我们把匹配到的内容写入到了新文件中,并且打印了所有匹配到的结果。
相关问题
提取文件中括号里面所有类容但不包含括号并且写到新的文件,文件名传参 python脚本
你可以使用类似于上面的 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`,以便让每个匹配结果占用新文件中的一行。
注意,正则表达式中的 `.*?` 表示匹配任意字符,但是尽量少匹配。这样可以确保在遇到多个括号嵌套的情况时,也能正确提取出所有的括号内的内容。
提取文件中括号里面带点的类容并且写到新的文件,文件名传参 python脚本
你可以将文件名作为参数传递给 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` 变量来保存输出文件的文件名,并将匹配结果写入到这个文件中。
阅读全文