python 根据图片名称创建同名txt文件
时间: 2024-10-13 18:19:11 浏览: 4
在Python中,你可以通过遍历目录中的图片文件,分析其名称来创建与其同名的.txt文件。这里有两个不同的方法:
1. 使用`os`和正则表达式[^1]:
```python
import os
import re
def img_generate_txt(path):
filelist = os.listdir(path)
for file in filelist:
if file.endswith('.jpg'):
itemname = os.path.join(path, file)
a = re.sub(re.escape(".jpg") + '$', '', itemname) # 删除.jpg扩展名
file_txt = a + '.txt'
print(f"Creating txt file: {file_txt}")
with open(file_txt, 'w') as file1: # 打开并写入空文件
pass # 可以在此处添加实际要写入的内容
# 调用函数
img_generate_txt('/path/to/images')
```
2. 直接基于文件名分割和拼接[^2]:
```python
def create_txt_from_img_name(imageName, output_dir):
imgname = imageName.split('/')[-1] # 获取文件名(不包括路径)
txtname = imgname.split('.')[0] + '.txt' # 分割文件名,保留至"."之前的部分加.txt后缀
txt_path = os.path.join(output_dir, txtname) # 构建txt文件的完整路径
return txt_path
# 使用示例
imagePath = '/path/to/image.jpg'
outputDir = '/path/to/output'
txt_path = create_txt_from_img_name(imagePath, outputDir)
print(f"Creating txt file: {txt_path}")
```
在这两个方法中,第一个会直接删除.jpg扩展名并在原位置创建.txt文件,第二个则是先从图片路径和名称中提取信息再创建.txt文件。记得替换`'/path/to/'`为实际的文件路径。