我们是python的新手并尝试写入现有目录中的新文件cyt_dir
outfile = open('cyt_dir/' +s+ ".html", "w")
但我们正在
IOerror [ERRno2]没有这样的文件或目录:'cyt_dir /
为什么不识别目录?
答案 0 :(得分:0)
您编写的代码没有问题。
>>> s = "face"
>>> f = open('cyt_dir/' +s+ ".html", "w")
>>> f.write("testy testerson")
>>> f.close()
这成功写入正确的目录。你得到的错误是IOerror,所以建议其他的东西在这里发挥作用。
查看python.org上的IOerror文档,我们可以看到为什么会出现这种情况的原因。 No such file or directory
向我提出了一些不同的建议。
Errno
会证明这一点)总而言之,这只是猜测。如果你抓住错误,你可能会从错误中获得更多信息:
try:
f = open('cyt_dir/' +s+ ".html", "w")
except IOError, e:
print "Not allowed", e
答案 1 :(得分:0)
这很可能是当前路径问题,您需要知道从哪里执行脚本。或者,作为替代方案,提供绝对路径而不是相对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)