2017-02-03 2 views
0

У меня есть много текстовых файлов в каталоге, и я хочу напечатать каждое имя файла и его содержимое. Проблема заключается в том, что содержимое дублируется из предыдущего файла в следующий файл. Вот мой код:Как печатать имя каждого файла и содержимое в каталоге?

import os 
directory = os.listdir('/Users/user/My Documents/test/') 
os.chdir('/Users/user/My Documents/test/') 
for file in directory: 
    open_file = open(file,'r') 
    read_file = open_file.read() 
    print(open_file.name) 
    print("***************") 
    print(read_file) 

это распечатка в качестве примера:?

a.txt 
This is file1. 
*********** 
b.txt 
This is file1. This file 2 

.. любое внушение .. Заранее спасибо

+1

Y ou не закрыл файл ... –

ответ

0

Вы не закрывать файлы, и вы должны использовать with (который закрывает файл после выхода), что-то вроде этого

import os 

directory = os.listdir('/Users/user/My Documents/test/') 
os.chdir('/Users/user/My Documents/test/') 

for file in directory: 
    print(file) 
    print("***************")  
    with open(file, 'r') as openfile: 
     print(openfile.read()) 
    print('\n') 
Смежные вопросы