[英]How to open and write a file into an existing directory
我們是python的新手,正在嘗試寫入現有目錄cyt_dir
的新文件
outfile = open('cyt_dir/' +s+ ".html", "w")
但是我們越來越
IOerror [ERRno2]沒有這樣的文件或目錄:'cyt_dir /
為什么無法識別目錄?
您編寫的代碼沒有問題。
>>> s = "face"
>>> f = open('cyt_dir/' +s+ ".html", "w")
>>> f.write("testy testerson")
>>> f.close()
這將成功寫入正確的目錄。 您遇到的錯誤是IOerror,因此建議此處還有其他問題。
綜觀上的ioerror文檔python.org我們可以看到一些原因,為什么這可能會彈出。 No such file or directory
向我建議一些不同的東西。
Errno
會證明這一點) 總而言之,這僅僅是猜測。 如果捕獲到該錯誤,則可能能夠從該錯誤中獲取更多信息:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.