通过Python创建文件和目录

2023-12-23

我在创建目录然后打开/创建/写入指定目录中的文件时遇到问题。我似乎不清楚原因。我正在使用 os.mkdir() 和

path=chap_name
print "Path : "+chap_path                       #For debugging purposes
if not os.path.exists(path):
    os.mkdir(path)
temp_file=open(path+'/'+img_alt+'.jpg','w')
temp_file.write(buff)
temp_file.close()
print " ... Done"

我收到错误


OSError: [Errno 2] No such file or directory: 'Some Path Name'  

路径的形式为“带有未转义空格的文件夹名称”

我在这里做错了什么?


更新:我尝试运行代码而不创建目录

path=chap_name
print "Path : "+chap_path                       #For debugging purposes
temp_file=open(img_alt+'.jpg','w')
temp_file.write(buff)
temp_file.close()
print " ... Done"

仍然出现错误。更加迷茫了。


更新2:问题似乎是img_alt,它在某些情况下包含“/”,这使得造成麻烦。

所以我需要处理'/'。 是否有办法转义“/”或者删除是唯一的选择?


import os

path = chap_name

if not os.path.exists(path):
    os.makedirs(path)

filename = img_alt + '.jpg'
with open(os.path.join(path, filename), 'wb') as temp_file:
    temp_file.write(buff)

关键点是使用os.makedirs代替os.mkdir。它是递归的,即它生成所有中间目录。看http://docs.python.org/library/os.html http://docs.python.org/library/os.html

当您存储二进制 (jpeg) 数据时,以二进制模式打开文件。

作为回应Edit 2,如果 img_alt 有时有 '/' :

img_alt = os.path.basename(img_alt)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过Python创建文件和目录 的相关文章

随机推荐