Python에서는 n개의 .txt 파일 줄을 어떻게 읽을 수 있나요? 파일이 3~4개 있으면 다음 명령을 3~4번 사용하여 파일을 열고 줄을 읽을 수 있지만..
with open(filename, "r") as file:
파일이 100개 이상인 경우(폴더에 다른 확장 파일이 있는 경우) .txt 파일만 읽을 수 있는 방법은 무엇입니까?
100개의 파일이 있는 경우 파일의 각 줄을 다른 파일과 비교하고 싶습니다.
파일 1-2, 1-3, 1-4, ....1-99, 1-100, 2-3, 2-4, 2-100, .....99-1, 99-2, ..99-100
두 파일을 비교하는 경우 다음 방법을 사용하거나 일부 사전을 가져와 비교할 수 있습니다.
file1 = open('some_file_1.txt', 'r')
file2 = open('some_file_2.txt', 'r')
for line1 in file1:
for line2 in file2:
if line1 == line2:
print(file1)
print(file2)
file1.close()
file2.close()
파일의 각 줄을 다른 줄과 비교하고 파일에 있는 동일한 줄을 인쇄하는 방법을 모르겠습니다.
ps: I want to print the result in the command prompt
예상 출력
filenames line
출력 예(파일 이름은 고유하고 형식이 동일함)
파일 이름은 다르며 확장자만 동일합니다(예:
.txt) .
filename1 and filename2 <tab> same_statement_1
filename5 and filename12 and filename75 and filename81 <tab> same_statement_29
filename8 and filename20 and filename78 <tab> same_statement_17
filename56 and filename59 <tab> same_statement_85
filename59 and filename97 <tab> same_statement_101
답변1
파일이 특별히 크지 않다고 가정하면 사전 이해를 수행할 수 있습니다.
import os
filedata = { f: open(f, 'r').readlines() for f in os.listdir() if '.txt' == f[-4:] }
그런 다음 파일의 줄을 비교하십시오.N다른 경우에는 다음을 확인할 수 있습니다.
filedata['filename1.txt'][n] == filedata['filename2.txt'][n]