2017-10-19 126 views
0

我正在檢查文件是否存在,如果存在則附加到該文件,如果沒有創建新文件。在用戶指定的目錄中創建python文件形式

我已經做了如下。

if os.path.exists(test + '.csv'): 
     system_file = open(test + '.csv', 'a') 
     pass 
    else: 
     system_file = open(test + '.csv', 'w') 

這是檢查和創建文件的默認位置C:/users/viru/Desktop。有沒有辦法在C:/users/viru/testing/abc目錄中創建這些文件

+0

'test'變量包含什麼? – user1190882

+0

@ user1190882表名列表 –

+0

當然:只需增加**測試**以從所需的目錄路徑開始。 – Prune

回答

1

有很多更容易方式來做到這一點。你的想法是正確的,如果file已經存在,你不想open與模式'w',因爲這會刪除內容。但是,您可以'追加'到已經創建並具有'a'(追加)模式的內容的空(新)file以及 a file

所以,你可以這樣做:

system_file = open(test + '.csv', 'a') 

沒有if-statements,因爲即使testpath到尚未創建file,您仍然可以現在write到它,即使它有已打開追加('a')模式。

您可以閱讀更多關於函數here接受的不同modes

希望這有用!

0

您可以使用os.path.join輕鬆實現此目的。

我已經使用H:\os目錄作爲我想要的目錄,shovon作爲我想要的文件名。將其改爲自己的輸入。

import os 
test = os.path.join("H:",os.sep,"os","shovon") 

if os.path.exists(test + '.csv'): 
    system_file = open(test + '.csv', 'a') 
    print("File already exists") 
else: 
    system_file = open(test + '.csv', 'w') 
    print("New file is created") 

os.sep用於添加基於您的操作系統分離的跡象。將路徑連接爲字符串,並且驅動器號帶有額外的冒號。