python删除图片名字一部分
时间: 2024-10-09 18:09:28 浏览: 23
在Python中,你可以使用`os`模块配合字符串处理函数来删除图片文件名的一部分。假设你想移除所有包含特定前缀的部分,比如从文件名"original_image.jpg"中移除"original_",你可以这样操作:
```python
import os
def remove_prefix(file_name, prefix):
return file_name[len(prefix):] if file_name.startswith(prefix) else file_name
original_file = "original_image.jpg"
new_file_name = remove_prefix(original_file, "original_")
print(f"Old name: {original_file}, New name: {new_file_name}")
# 将新文件名保存到新的路径
os.rename(os.path.join(old_folder, original_file), os.path.join(new_folder, new_file_name))
```
这段代码会检查文件名是否以指定前缀开始,如果是,则仅保留剩余部分;如果不是,则保持原样。
相关问题
python批处理图片,将图片中的姓名,生辰,电话,属相和地址全部打上马赛克并按序号重命名图片
在Python中,我们可以使用一些图像处理库如PIL(Python Imaging Library)或其更新版本Pillow以及正则表达式re来实现这个任务。这里是一个简化的示例步骤:
1. **安装所需库**:
首先确保已经安装了`Pillow`库,如果没有可以使用pip安装:
```
pip install pillow
```
2. **读取图片和信息提取**:
使用`PIL`打开图片,然后利用`ImageDraw`模块的`Text`功能找到需要遮盖的部分(姓名、生辰等),通过正则表达式匹配文本。
3. **马赛克处理**:
对于敏感信息,可以用矩形或圆角矩形覆盖,并设置合适的颜色。例如,可以使用`draw.rectangle()`或`draw.ellipse()`。
4. **替换或隐藏信息**:
使用`str.replace()`或`ImageDraw.Draw.text()`方法,把原始信息替换成星号或其他标记。
5. **重命名图片**:
可以使用`os`库获取原文件名,添加序号或删除部分原有信息作为新的名字。
6. **保存处理后的图片**:
使用`img.save()`函数保存修改后的图片。
这是一个基础的流程,实际操作中可能会更复杂,比如处理多种格式的信息位置变化,或者使用OCR技术自动识别文字。以下是伪代码示例:
```python
import os
from PIL import Image, ImageDraw, ImageFont
def process_image(input_path, output_dir):
# ... (具体代码,包括打开图片、查找文本、马赛克处理、重命名)
# 例子:
images = os.listdir('input_folder')
for i, img_path in enumerate(images):
# 读取图片并处理...
new_img_path = os.path.join(output_dir, f'{i}_mascaraded_{img_path}')
img.save(new_img_path)
阅读全文