2013-12-17 47 views
0

程序運行時,我的程序總是覆蓋現有的CSV文件夾。我怎樣才能創建一個不被覆蓋的CSV文件?CSV文件夾總是被覆蓋

例如:它會檢查目錄,如果找到這樣的文件TabulatedStats.csv它將創建一個TabulatedStats02.csv,TabulatedStats03.csv等與原始文件不同。

這是我的嘗試:

try: 
    newDirRH = 'C:\AGM' 
    newfile = newDirRH + "/TabulatedStats.csv" 
    text_file = open(newfile, "w") 
    x = stringText 
    text_file.write(x) 
    text_file.close() 
except: 
    tkMessageBox.showinfo(title="New Excel Created", message="New TabulatedStats1.csv is created") 
    newfile = newDirRH + "/TabulatedStats1.csv" 
    text_file = open(newfile, "w") 
    x = stringText 
    text_file.write(x) 
    text_file.close() 
    pass 

回答

1

您可以使用os.path模塊檢查文件是否存在。

filename = 'path/to/file{0:05}.ext' 
n = 0 
while os.path.exists(filename.format(n)): 
    n += 1 
print(filename.format(n)) 
+1

這是如何很奇怪?你可以通過改變上面的'5'來調整0的數量。可能想查看[字符串格式](http://docs.python.org/3.3/library/string.html#formatstrings)語法。 – kalhartt

0

你在寫模式打開文件。這將始終創建一個新文件。如果您以追加模式打開文件,則可以添加新內容而不會覆蓋現有內容。

text_file = open(newfile, "a")