通过Python创建的文件和目录(Creating files and directories vi

2019-07-30 15:54发布

我无法创建一个目录,然后打开/创建/写入文件中指定的目录。 原因似乎我不清楚。 我使用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是形式的“文件夹名称与未逃脱的空间”

我在做什么错在这里?


更新:我试过,而无需创建目录运行的代码

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,它包含了一个“/”在某些情况下,这使得造成麻烦。

所以,我需要处理“/”。 反正是有逃避“/”或缺失是唯一的选择?

Answer 1:

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

以二进制方式打开文件,你的存储二进制(JPEG)数据。

响应于编辑2,如果img_alt有时有“/”在它:

img_alt = os.path.basename(img_alt)


Answer 2:

    import os
    os.mkdir('directory name') #### this command for creating directory
    os.mknod('file name') #### this for creating files
    os.system('touch filename') ###this is another method for creating file by using unix commands in os modules 


文章来源: Creating files and directories via Python