2011-11-06 75 views
25

如何告訴Python保存文本文件的位置?告訴Python將.txt文件保存到Windows和Mac上的某個目錄中

例如,我的電腦在我的桌面上運行Python文件。我希望它將所有文本文件保存在我的文檔文件夾中,而不是保存在桌面上。我如何在這樣的腳本中做到這一點?

name_of_file = raw_input("What is the name of the file: ") 
completeName = name_of_file + ".txt" 
#Alter this line in any shape or form it is up to you. 
file1 = open(completeName , "w") 

toFile = raw_input("Write what you want into the field") 

file1.write(toFile) 

file1.close() 

回答

37

只需在打開文件句柄進行寫入時使用絕對路徑。

import os.path 

save_path = 'C:/example/' 

name_of_file = raw_input("What is the name of the file: ") 

completeName = os.path.join(save_path, name_of_file+".txt")   

file1 = open(completeName, "w") 

toFile = raw_input("Write what you want into the field") 

file1.write(toFile) 

file1.close() 

您在布萊恩的回答說明自動獲取用戶的文檔文件夾的路徑可以任選os.path.abspath()結合這一點。乾杯!

+0

感謝您的幫助 – user1031493

16

使用os.path.join將路徑與Documents目錄結合到用戶提供的completeName(文件名?)。

import os 
with open(os.path.join('/path/to/Documents',completeName), "w") as file1: 
    toFile = raw_input("Write what you want into the field") 
    file1.write(toFile) 

如果你想Documents目錄相對於用戶的主目錄,你可以使用類似:

os.path.join(os.path.expanduser('~'),'Documents',completeName) 

其他人使用os.path.abspath建議。請注意,os.path.abspath未將'~'解析到用戶的主目錄中:

In [10]: cd /tmp 
/tmp 

In [11]: os.path.abspath("~") 
Out[11]: '/tmp/~' 
相關問題