본문 바로가기
코딩 프로그래밍/PYTHON 파이썬

파이썬 파일 읽고 배열 다루기

by 프즈 2021. 11. 8.
반응형

간단하게 파일 읽고 처리해야 하는 부분이 있어서 파이썬으로 했어요

목록이 들어있는 두 개의 파일을 비교하여 한쪽에 없는 목록을 표시하려고 했어요

 

일단 파일을 읽는 방법입니다.

 

open 을 이용할 수 있고 import 하나도 하지 않고 사용할 수 있어요

 

f = open("dpkg18name.txt","r")
content = f.read()
print(content)

dpkg18name 파일을 읽는 예제입니다

open으로 파일을 열어서 read로 내용을 읽고 print로 출력하는 부분입니다.

이렇게 하면 content에 파일의 모든 내용이 담겨요

한 줄 한 줄 배열로 담으려면 readlines를 사용해야 합니다.

 

f = open("dpkg18name.txt","r")
content = f.readlines()
print(content)

배열이니 for 문법을 사용할 수 있어요.

 

f = open("dpkg18name.txt","r")
content = f.readlines()

for x in content:
    print(x)

같은 방법으로 하나의 파일을 더 읽어 볼게요

f = open("dpkg18name.txt","r")
content = f.readlines()
print(type(content))

ff = open("dpkg20name.txt","r")
fcontent = ff.readlines()

for x in content:
    print(x)

open에서 읽는 변수명이 달라야 합니다.

이제 for 문을 이용해서 돌릴 때 한쪽에는 없는 것만 출력하고 싶어요

f = open("dpkg18name.txt","r")
content = f.readlines()
print(type(content))

ff = open("dpkg20name.txt","r")
fcontent = ff.readlines()

for x in content:
    if x not in fcontent:
        print(x)

이렇게 해 볼 수 있는데요

이 목록을 가지고 하려는 작업이 있었어요.

덕분에 일찍 퇴근 할 수 있었어요

 

축약형 문법을 사용해 볼 수도 있겠네요

f = open("dpkg18name.txt","r")
content = f.readlines()
print(type(content))

ff = open("dpkg20name.txt","r")
fcontent = ff.readlines()

mylist = [x for x in content if x not in fcontent]

이렇게 하면 mylist안에 중복을 제거하고 원하는 목록이 들어가 있겠네요 

반응형

댓글