Traceback (most recent call last): File "C:/Users/duwkc/PycharmProjects/tengmuyiyuan/trngmuyiyuan/测试.py", line 8, in <module> img = Image.open('photo/*.jpg') File "C:\Users\duwkc\PycharmProjects\tengmuyiyuan\venv\lib\site-packages\PIL\Image.py", line 3236, in open fp = builtins.open(filename, "rb") OSError: [Errno 22] Invalid argument: 'photo/*.jpg'
时间: 2023-10-05 12:09:57 浏览: 93
Jupyter修改默认路径问题(SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xb5 in position 0)
5星 · 资源好评率100%
这个错误提示是因为你在`Image.open()`中传入了一个不正确的文件路径。`'photo/*.jpg'`并不是一个有效的文件路径,它包含一个通配符`*`,而`open()`方法不支持使用通配符来打开多个文件。
你需要指定一个具体的文件名或文件路径来打开一个图片文件。例如,如果你要打开`photo`文件夹中的所有`.jpg`文件,你可以使用`os`模块来获取该文件夹中所有的`.jpg`文件名,并循环打开它们:
```python
import os
from PIL import Image
# 获取photo文件夹中所有的.jpg文件名
folder = 'photo'
jpg_files = [f for f in os.listdir(folder) if f.endswith('.jpg')]
# 循环打开图片文件
for filename in jpg_files:
img = Image.open(os.path.join(folder, filename))
# 进行其他操作
```
这个示例代码使用`os.listdir()`方法获取`photo`文件夹中的所有文件名,然后使用列表推导式筛选出所有以`.jpg`结尾的文件名。接下来,我们循环打开每个文件并进行其他操作。
阅读全文