본문 바로가기

python

27. 텍스트파일(read, readline, readlines, wrtie, writelines)

728x90
반응형

136. 텍스트 파일을 읽고 출력하기 (read)

 

file=open('d:\\stockcode_part.txt','r').read()

print(file)

 


 

 

137. 텍스트 파일을 한줄씩 읽고 출력하기(readline)

 

file=open('d:\\stockcode_part.txt','r').readlines()

print(file)

 


 

 

문제335.

위의 예제를 이용해서 기업명을 물어보게하고 기업명을 입려하면 주식코드가

출력되게 하시오

 

기업명을 입력하세요~   두산

 

힌트: readlines 쓰시오

 

def stock_code():

    a=input('코드명을 보고싶은 기업명을 입력하세요!')

    f=open('d:\\stockcode_part.txt','r').readlines()

   

    for i in f:

        if a in i:

            print(i[:6])

            break

stock_code()

 

 

 

***한바퀴 돌았는데 일치하는거 없으면

없다고 글자 나오게 하시오

 

def stock_code():

    a=input('기업명을 쓰시오~')

    f=open('d:\\stockcode_part.txt','r').readlines()

 

    for i in f:

       

        if a in i:

            print(i[:6])

            break

        elif i==f[len(f)-1]:

            print('찾는 기업이 없습니다')

 

stock_code()

       

 

 

 

문제336.  (오늘의 마지막 문제)

카카오 경력파트알고리즘 문제를 문제에서 제시한 url 알고리즘에

충실해서 문제를 푸시오 !

https://labs.spotify.com/2014/02/28/how-to-shuffle-songs/

 

  

 

from collections import defaultdict

from random import shuffle, choice, uniform

 

song = 'Yesterday\tLet it be\tGee()\t소원을 말해봐\tHey Jude'.split('\t')

artist = 'Beatles\tBeatles\t소녀시대\t소녀시대\tBeatles'.split('\t')

music = defaultdict(list)

artist = ['beatles','beatles','beatles','beatles','소녀시대','소녀시대','소녀시대',\

'버즈','버즈','버즈','버즈']

song = ['Yesterday','Let it be','something','please please me','Gee()','소원을 말해봐','다만세',\

'가시','겁쟁이','사랑하지 않은 것처럼','활주']

 

 

내가 만든 :

from collections import defaultdict

from random import shuffle, uniform

 

artist='Beatles\t소녀시대\t버즈'.split('\t')

songs='let it be\tplease me\timagine\tGee\t다만세\t가시'.split('\t')

#print(artist)

#print(songs)

 

artist=['Beatles','Beatles','Beatles', '소녀시대','소녀시대','소녀시대', '버즈','버즈']

songs=['let it be', 'please me', 'imagine', 'Gee', '다만세','oh', '가시','남자']

 

music=defaultdict(list)

 

for ar,son in zip(artist,songs):

    music[ar].append(son)

    shuffle(music[ar])

 

ready=[]

for i in music.keys():

    for num, var in enumerate(music[i]):       

        loc=uniform(0,1/len(music[i]))

        loc2=num+loc+uniform(-0.15,0.15)*loc

        ready.append([loc2,var,i])

           

ready.sort()       

 

#나는 여기서, if 절을 써서, 만약 붙어 나올 경우를 배제 시키겠다.

#print(ready)

 

for i in range(len(ready)-2): #8-2=6>>>0,1,2,3,4,5

    if ready[i][2]==ready[i+1][2]:  #끝까지 비교하지만, 가수가 겹치는건

                                       세트에서 세트로 넘어갈 때라서

                                         상관없다.

        (ready[i+2],ready[i+1])=(ready[i+1],ready[i+2])

#print(ready)

for z in ready:

    print(z[1],end='\t')

   


 

 

matplotlib 설명 나와있는 블로그

https://blog.naver.com/jung2381187/220408468960

 

1. 딕셔너리 데이터 유형 다루는 방법

-keys

-values

-items

 

2. read, readlines

3. 카카오 알고리즘 문제(음악 셔플)

 

요번 수업 일정

1. 파이썬 수업 종료

-웹스크롤링

2. 파이썬 시험 21 금요일

3. 17일부터 리눅스 수업(일주일)

4. 딥러닝(3)

5. 하둡

6. R(통계, 머신러닝)

 

 

139. 화면에서 사용자 입력을 받고 파일로 쓰기(write)

예제:

text=input('파일에 저장할 내용을 입력하세요~')

f=open('d:\\mydata.txt','w')  # 이게 mydata.txt. 만들라는 명령어!

f.write(text)   #write 괄호안에 텍스트를 f 입력하라!

f.close()

 

아무거나 쓰면, txt형식으로 mydata  만들어지고

input 쓴것이 내용으로 들어감

 

 

 

문제337.

위의 스크립트는 한줄 쓰고 엔터를 치면 바로 종료가 되는데

그렇게 하지 말고

한줄 쓰고 엔터를 쳐도 계속물어보게 하고

계속 있게 하되

아무것도 안쓰고 그냥 엔터를 치면 종료되게 하시오

 

t=1

while t>0:

    text=input('파일에 저장할 내용을 입력하세요~')

    if text != '':   

        f=open('d:\\mydata.txt','w')

        f.write(text)   #단어 입력

    else:

        t=t-1

 

 

140. 텍스트 파일에 한줄 쓰기(writelines)

 

f=open('d:\\mydata2.txt','w')  #while 밖이나 안이나 노상관~

while True:

    text=input('파일에 저장할 내용을 입력:')

    f.writelines(text+'\n')

   

    if text=='':

        break

f.close()

 

설명: write 한줄로 계속 이어쓰기

 

data=[]

while True:

    text=input('파일에 저장할 내용을 입력:')

    if text=='':

        break

    data.append(text+'\n')

f=open("d:\\mydata3.txt","w")

f.writelines(data)

f.close()

 

writelines 리스트 자료형도 파일에 저장할 있다.

 

 

 

141. 텍스트 파일 복사하기 (read, write)

예제:

 

f=open('d:\\stockcode_part.txt','r')

h=open('d:\\stockcode_copy.txt','w')

 

data=f.read()

h.write(data)

 

f.close()

h.close()

 

결과: read 통해 읽어온 파일을 w copy해서 파일을 만들었다.

 

 

 

*특정 폴더 밑에 있는 파일들을 파이썬에서 읽어오는 방법

-폐결절 사진과 정상 폐사진

-개와 고양이 사진

 

import os

path_dir='d:\\'

file_list=os.listdir(path_dir)  #리스트화 시키는 os모듈의 함수

file_list.sort()

print(flie_list)

for items in file_list:

    print(items)

 

 



 

**D드라이브에 있는 파일들을 불러오는 거임.

 

 

 


728x90
반응형