Python 如何打开文件并将其写入现有目录
我们是python新手,正在尝试写入现有目录cyt_dir中的新文件 但我们正在 IOerror[ERRno2]没有这样的文件或目录:“cyt\u dir/Python 如何打开文件并将其写入现有目录,python,dir,Python,Dir,我们是python新手,正在尝试写入现有目录cyt_dir中的新文件 但我们正在 IOerror[ERRno2]没有这样的文件或目录:“cyt\u dir/ 为什么它不能识别目录 您编写的代码没有问题 >>> s = "face" >>> f = open('cyt_dir/' +s+ ".html", "w") >>> f.write("testy testerson") >>> f.close() 这将成功写入正确的目
为什么它不能识别目录 您编写的代码没有问题
>>> s = "face"
>>> f = open('cyt_dir/' +s+ ".html", "w")
>>> f.write("testy testerson")
>>> f.close()
这将成功写入正确的目录。您得到的错误是IOerror,因此表明这里还有其他原因
查看上的IOerror文档,我们可以看到出现这种情况的一些原因。没有这样的文件或目录对我来说意味着一些不同的事情
您正在一个不存在此文件夹结构的目录中运行python文件。
您正在以可能没有该目录权限的用户身份运行python文件。我怀疑一个不同的厄尔诺会证明这一点
你的硬盘已经满了,或者像这样愚蠢的东西。
总之,这只是猜测。如果捕捉到错误,您可能可以从中获得更多信息:
try:
f = open('cyt_dir/' +s+ ".html", "w")
except IOError, e:
print "Not allowed", e
这很可能是当前的路径问题,您需要知道从何处执行脚本。或者,作为替代方案,提供绝对路径而不是相对cyt_dir 我会选择第三种变体,并编写一种机制,从脚本位置提取路径,这样无论发生什么情况,您都是安全的:
path = os.path.dirname(os.path.abspath(__file__))
try:
outfile = open("%s/cyt_dir/%s.html".format(path, s), "w")
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)
path = os.path.dirname(os.path.abspath(__file__))
try:
outfile = open("%s/cyt_dir/%s.html".format(path, s), "w")
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)