2010-11-04 349 views
0

我有一個相當簡單的程序,可以編寫HTML代碼以供使用。Python3:將文件保存到指定的位置

它工作正常,除了如果一個人是從Python命令行運行程序,因爲是默認情況下,創建的HTML文件被創建,其中python.exe是,而不是我寫的程序是。這是一個問題。

你知道得到.write()功能將文件寫入到一個特定的位置在光盤上(e.g. C:\Users\User\Desktop)?

超爽點,如果你知道如何打開一個文件瀏覽器窗口的方式。

回答

1

第一個問題可能是您打開文件進行寫入時未包括完整路徑。有關打開Web瀏覽器的詳細信息,請參閱this fine manual

import os 
target_dir = r"C:\full\path\to\where\you\want\it" 

fullname = os.path.join(target_dir,filename) 
with open(fullname,"w") as f: 
    f.write("<html>....</html>") 

import webbrowser 

url = "file://"+fullname.replace("\\","/") 
webbrowser.open(url,True,True) 

BTW:python 2.6中的代碼是一樣的。

0

我承認我不知道Python 3,所以我可能是錯的,但在Python 2中,您可以檢查模塊中的__file__變量以獲取從中加載的文件的名稱。只需在同一目錄中創建文件(最好使用os.path.dirname和os.path.join以保持平臺無關)。