如何在Python中的相应子目录中创建输出文本文件?

如何在Python中的相应子目录中创建输出文本文件?,python,tkinter,Python,Tkinter,我使用以下代码选择了根目录中所有子目录中的所有.txt文件 import Tkinter, tkFileDialog root = Tkinter.Tk() root.withdraw() dirname = tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory') pattern = "*.txt" for path, subdirs, files in os.walk(di

我使用以下代码选择了根目录中所有子目录中的所有.txt文件

import Tkinter, tkFileDialog

root = Tkinter.Tk()
root.withdraw()
dirname = tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')
pattern = "*.txt"
for path, subdirs, files in os.walk(dirname):
    for name in files:
        if fnmatch(name, pattern):
            filename=os.path.join(path,name)
现在我有大约100个.txt文件,它们存在于不同的子目录中。现在,我使用NLTK分析.txt文件,并希望将输出保存在相应的子目录中,作为单个.txt文件

如何将输出保存在main.txt源文件所在的相应文件夹中

*根目录不是当前工作目录。获取文件所在目录的路径是不同的

如果需要基于旧文件名生成新文件名,可以使用将文件名拆分为目录和基名称:

directory, base = os.path.split(filename)
new_filename = os.path.join(directory, 'analyzed_' + filename)

如果您的解决方案在On范围内,则只需步行读写即可

import Tkinter, tkFileDialog

root = Tkinter.Tk()
root.withdraw()
dirname = tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a 

directory')
pattern = "*.txt"
for path, subdirs, files in os.walk(dirname):
    for name in files:
        if fnmatch(name, pattern):
            filename=os.path.join(path,name)
            new_filename=os.path.join(path,'new'+name)
            #do your work for filename and save to new_filename
如果您需要汇总这些文件,并在加载所有文件后进行一些工作。您需要分别保存它们的路径