如何修改目录中的每个文件?

时间:2017-02-14 08:36:15

标签: python-3.x file

我有一个目录中的文件,我想在每个文件中找到一些单词标记并计算它们然后我转到下一个文件和..etc。我的问题是我怎么知道我完成了第一个文件才能转到下一个文件。例如:

Text1.txt:
do some process 
Text2.txt:
do some process

这是我的代码:

directory = os.listdir('/Users/user/My Documents/test/')
os.chdir('/Users/user/My Documents/test/')
for file in directory:   
    with open(file, 'r') as openfile:
        print(file)
        print('\n')
        counter1 = 0
        counter2 = 0
        read_file = openfile.read()
        word_tokens = word_tokenize(read_file)
        for i in word_tokens:
            g = nltk.tag.pos_tag([i])
            for word, tag in g:
                if tag.startswith('JJ'):
                    counter1 = counter1 + 1
                elif tag.startswith('VB'):
                    counter2 = counter2 + 1
                if counter1 > counter2:
                    print("No of Ajdtive = ",counter1)
                elif counter2 > counter1:
                    print("No of verb =",counter2)

我的代码中的问题是,计数器转到下一个文件并添加下一个值 输出应该是例如: Text1有2个JJ和1个V:

No of Ajdtive = 2

Text2有2V和1JJ:

No of verb = 2

1 个答案:

答案 0 :(得分:0)

我无法看到您的代码出现任何问题,但可能会出现问题。使用for循环,您可以确保逐个处理每个文件。确保最终的if-elif分支在with块内!