簡體   English   中英

如何打開文件並將其寫入現有目錄

[英]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向我建議一些不同的東西。

  1. 您正在從不存在該文件夾結構的目錄中運行python文件。
  2. 您正在以可能沒有該目錄權限的用戶身份運行python文件。 (我懷疑另一個Errno會證明這一點)
  3. 您的硬盤驅動器已滿或類似的東西。

總而言之,這僅僅是猜測。 如果捕獲到該錯誤,則可能能夠從該錯誤中獲取更多信息:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM