Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 在脚本目录外的文件夹中打开PIL映像_Python_Image_File Io_Directory_Python Imaging Library - Fatal编程技术网

Python 在脚本目录外的文件夹中打开PIL映像

Python 在脚本目录外的文件夹中打开PIL映像,python,image,file-io,directory,python-imaging-library,Python,Image,File Io,Directory,Python Imaging Library,我有一个script.py位于名为subfolder1的文件夹中。此文件夹位于名为mainfolder的文件夹中。mainfolder中还有一个名为subfolder2的文件夹。我想让script.py在子文件夹2中打开一个图像并进行一些裁剪等操作,但我不知道如何获得正确的目录。我试过: import os rel = "../subfolder2/1.bmp" impath = os.path.abspath(rel) im = Image.open(impath) 但出现以下错误消息: I

我有一个script.py位于名为subfolder1的文件夹中。此文件夹位于名为mainfolder的文件夹中。mainfolder中还有一个名为subfolder2的文件夹。我想让script.py在子文件夹2中打开一个图像并进行一些裁剪等操作,但我不知道如何获得正确的目录。我试过:

import os
rel = "../subfolder2/1.bmp"
impath = os.path.abspath(rel)
im = Image.open(impath)
但出现以下错误消息:

IOError: [Errno 2] No such file or directory: 'C:\\Users\\****\\Desktop\\mainfolder\\subfolder2\\1.bmp'

顺便说一下,我正在使用Windows。

如果您的目录结构如下所示:

mainfolder/
    subfolder1/
        script.py
    subfolder2/
        1.bmp
import os
scriptDir = os.path.dirname(__file__)
impath = os.path.join(scriptDir, '../subfolder2/1.bmp')
。。。然后可以构造一个相对于
script.py
的路径。现在,您只使用与当前工作相关的路径,直接在其中启动shell命令

您可以这样做:

mainfolder/
    subfolder1/
        script.py
    subfolder2/
        1.bmp
import os
scriptDir = os.path.dirname(__file__)
impath = os.path.join(scriptDir, '../subfolder2/1.bmp')

文件是模块中的内置属性,它告诉您该模块的文件系统路径。

错误消息中的路径是映像应该位于的路径吗?图片文件真的存在吗?我很好,仍然发布了一个答案,尽管你过去没有接受过任何一个。我希望这个能解决你的问题,没什么?这对你的问题有帮助吗?