提取文件中括号里面带点的类容并且写到新的文件 python脚本
时间: 2024-01-22 10:02:34 浏览: 109
你可以使用类似于上面的 Python 脚本来提取文件中括号里面带点的内容,并且将结果写入到新的文件中。以下是一个示例脚本:
```python
import re
# 读取文件内容
with open('file.txt', 'r') as f:
content = f.read()
# 提取括号里面带点的内容
pattern = r'\((\w+\.\w+)\)'
matches = re.findall(pattern, content)
# 将匹配结果写入新文件
with open('result.txt', 'w') as f:
for match in matches:
f.write(match + '\n')
```
以上脚本中,除了提取括号里面带点的内容外,还使用了文件读取和写入操作。通过 `with open()` 语句打开文件,并使用 `read()` 方法读取文件内容。使用 `with open()` 语句打开新文件,并使用 `write()` 方法将匹配结果写入文件。注意,这里每个匹配结果后面加上了换行符 `\n`。这样可以让每个匹配结果占用新文件中的一行。
如果你需要提取的是多行括号里面的内容,可以使用 `re.DOTALL` 标志来匹配多行文本。例如,将 `pattern` 修改为 `r'\((.*?)\)'` 并添加 `re.DOTALL` 标志,即可匹配多行括号内的内容。
相关问题
提取文件中括号里面带点的类容并且写到新的文件,文件名传参 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` 变量来保存输出文件的文件名,并将匹配结果写入到这个文件中。
提取文件中括号里面带点的类容 python脚本
可以使用正则表达式来提取文件中括号里面带点的内容,如下所示的 Python 脚本:
```python
import re
# 读取文件内容
with open('file.txt', 'r') as f:
content = f.read()
# 提取括号里面带点的内容
pattern = r'\((\w+\.\w+)\)'
matches = re.findall(pattern, content)
# 输出结果
for match in matches:
print(match)
```
以上脚本中,使用了正则表达式 `r'\((\w+\.\w+)\)'` 来匹配括号里面带点的内容。其中,`\w+` 表示匹配一个或多个字母、数字或下划线,`\.` 表示匹配一个点号。括号表示分组,匹配的结果会保存在 `matches` 变量中。最后,使用 `for` 循环遍历 `matches` 变量,输出每个匹配结果。
阅读全文