IOError:[Errno 2]没有这样的文件或目录,但文件确实存在

时间:2014-07-28 04:26:46

标签: python io cgi

我不断收到IO错误,说明我的目录不存在。我做错了什么?

我在一个名为 pirate.py

的单独文件中
with open("/images/image.jpg", "rb") as fin:
    image_data = fin.read()

with open("pirate.py","wb") as fout:
    fout.write("image_data="+repr(image_data))

然后是我主文件中的代码

from pirate import image_data

# Content-type declaration
print('Content-type: text/html\n')

def main():
    print('<!doctype html><head><meta charset="utf-8">')
    print('<style>html {background:url (data:image/gif;base64,' + pirate.image_data + ')

我试图在base64中对图像进行编码,然后将其用作.cgi中的背景,我确定我的其余代码正常工作,我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

尝试使用绝对文件路径。或使用根前缀ROOT_PATH = os.path.dirname(os.path.realpath( file ))

答案 1 :(得分:0)

repr不是你想要的,你说的是图像数据是base64 ...所以让它成为基础64

with open("pirate.py","wb") as fout:
  fout.write("image_data="+base64.b64encode(image_data))

然后另外你说

from pirate import image_data

然后你将其引用为

pirate.image_data

何时应该将其引用为

image_data     

theres可能是其他一些探测器,因为您显示的图像图像路径不是评论中的图像路径

答案 2 :(得分:0)

您的代码说

open("/images/image.jpg", "rb")

我怀疑&#34; /&#34;一开始就是问题所在。或者你的图像文件夹在根目录中?