Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 由于图像的exif元数据,使用PIL时出现图像旋转错误_Python_Python 3.x_Image_Python Imaging Library - Fatal编程技术网

Python 由于图像的exif元数据,使用PIL时出现图像旋转错误

Python 由于图像的exif元数据,使用PIL时出现图像旋转错误,python,python-3.x,image,python-imaging-library,Python,Python 3.x,Image,Python Imaging Library,我正在尝试停止特定文件夹中图像的自动旋转。当我在文件夹中使用win7 64位时,它会在上传到dropbox后显示所有内容都正确 显示图像从90度旋转到180度。通过这段Python3代码,我试图实现文件夹中所有图像的90自动旋转。然而,我得到了这个错误。请检查并让我知道如何实现这一点 以下是我正在应用的代码: from PIL import Image import os image1 = Image.open('.JPG') image1.rotate(90).save('.JPG') 错

我正在尝试停止特定文件夹中图像的自动旋转。当我在文件夹中使用win7 64位时,它会在上传到dropbox后显示所有内容都正确

显示图像从90度旋转到180度。通过这段Python3代码,我试图实现文件夹中所有图像的90自动旋转。然而,我得到了这个错误。请检查并让我知道如何实现这一点

以下是我正在应用的代码:

from PIL import Image
import os

image1 = Image.open('.JPG')
image1.rotate(90).save('.JPG')
错误如下:

回溯(最近一次呼叫最后一次):
文件“C:\Users\Dell 2\Desktop\2020年2月14日\183ND750\pil_demo.py”,第4行,在
image1=Image.open('.JPG')
打开文件“C:\Users\Dell 2\AppData\Local\Programs\Python\37\lib\site packages\PIL\Image.py”,第2809行
fp=内置的.open(文件名为“rb”)
FileNotFoundError:[Errno 2]没有这样的文件或目录:'.JPG'

您没有给它一个图像来处理<代码>('.JPG')不会在文件夹中打开图像。您想要传递一个文件路径。差不多

from PIL import Image
import os

image1 = Image.open('C:\Users\YourUser\Desktop\pics\my_image.jpg')
image1.rotate(90).save('C:\Users\YourUser\Desktop\pics\my_image.jpg')

open()
save()
的调用会与计算机的文件系统交互。

感谢您的回复。实际上,我想在一个完整的文件夹而不是图像上执行此任务。我每天都会收到这些GBs大小的图像。这不会调用完整文件夹中的每个文件,只调用单个文件。我认为
.JPG
无论如何都不是一个有效的目录。user3127647:您必须遍历目录中的每个JPG图像文件,并显式地旋转每个文件。现在还不清楚你想做什么与exif元数据有什么关系。你可以用ImageMagick更简单地自动旋转图像。尝试制作图像目录的副本,并在命令提示符下将目录更改为副本所在的位置。然后运行
magick-mogrify-auto-orient*.jpg