随机保存文件时如何知道文件名

时间:2014-10-20 05:22:49

标签: python-2.7 tkinter

我试图在任何目录中随机保存文件 用户希望但使用默认的自定义文件名。同时我想要 了解文件名是否存在于新目录中。 如果存在,则应使用增量编号字符串

保存文件名

例如:如果我正在尝试保存文件," MyFile.txt"在我电脑的任何目录中

让我们在D:\,C:\或某些桌面文件夹中说,尽管它在哪里,它应该 能够找出那里存在的特定文件名(MyFile.txt) 选择的文件夹(如果存在),则应使用递增的数字字符串保存 比如MyFile-1.txt MyFile-2.txt MyFile-3.txt等。

只有当目录名称是硬编码时,我现在的代码才能满足此要求!

目前我正在写一个名为" TestFolder"的文件夹。这应该被删除它应该被分配给 任何用户选择的文件夹,不知道怎么做!!

有人请尽快帮助我

def File_Save_Random(self):


    searchFile = "MyFile"
    fileList = os.listdir("TestFolder")

    self.filecount=0
    for currFile in fileList:
        exactFile = re.findall(searchFile + "*", currFile)                      
        if exactFile!=[]:
            self.filecount+=1 


    if self.filecount==0:


             WrtiteWord="My Test data writing"               
             #filePathTowrite="TestFolder"
             fileNameToWrite="/MyFile"+".txt"                 
             fileWriteVar=filePathTowrite+fileNameToWrite



             file_name = tk_fsave(title="Save File",
                                     initialdir="/",initialfile="MyFile.txt",filetypes=[("txtFile","*.txt")])  


             print file_name
             file = open(fileWriteVar, "w") 
             file.write(WrtiteWord+"\n")
             file.close() 



    if self.filecount>0:


             WrtiteWord="My Test data writing"                
             #filePathTowrite="TestFolder"

             incrementedFilename="MyFile"+ str(self.filecount) + ".txt"   ## this is the incremented file name

             fileNameToWrite= incrementedFilename ## this is the incremented file name

             fileWriteVar=filePathTowrite+fileNameToWrite


             file_name = tk_fsave(title="Save File",
                                     initialdir="/",initialfile=fileNameToWrite,filetypes=[("txtFile","*.txt")])  



             print file_name
             file = open(file_name, "w") 
             file.write(WrtiteWord+"\n")
             file.close()

0 个答案:

没有答案