python怎么将文件名中括号之间的内容删除
时间: 2023-05-11 22:07:26 浏览: 166
你可以使用正则表达式来匹配文件名中的括号及其内容,然后使用字符串替换函数将其删除。以下是一个示例代码:
```python
import re
filename = "example (with brackets).txt"
new_filename = re.sub(r'\s*\([^)]*\)\s*', '', filename)
print(new_filename) # 输出 "example.txt"
```
这个代码使用了正则表达式 `\s*\([^)]*\)\s*` 来匹配文件名中的括号及其内容,然后使用字符串替换函数 `re.sub()` 将其替换为空字符串。
相关问题
python批量去除文件名的括号
可以通过正则表达式来实现,如下所示:
```python
import os
import re
directory = 'path/to/directory'
for filename in os.listdir(directory):
if re.search(r'\(\d+\)', filename):
new_filename = re.sub(r'(\s*\(\d+\)\s*)', '', filename)
os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
```
这段代码可以批量去除文件名中括号和其中的数字,同时保留其他内容。你只需要将 `directory` 替换为你想要操作的目录路径即可。
提取文件中括号里面所有类容但不包含括号并且写到新的文件,文件名传参 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`,以便让每个匹配结果占用新文件中的一行。
注意,正则表达式中的 `.*?` 表示匹配任意字符,但是尽量少匹配。这样可以确保在遇到多个括号嵌套的情况时,也能正确提取出所有的括号内的内容。
阅读全文