<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?action=history&amp;feed=atom&amp;title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8</id>
		<title>선미 파이썬 0404 18일차 - 편집 역사</title>
		<link rel="self" type="application/atom+xml" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?action=history&amp;feed=atom&amp;title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8"/>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8&amp;action=history"/>
		<updated>2026-04-04T09:26:02Z</updated>
		<subtitle>이 문서의 편집 역사</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8&amp;diff=172&amp;oldid=prev</id>
		<title>Azuremei: 판 1개를 가져왔습니다</title>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8&amp;diff=172&amp;oldid=prev"/>
				<updated>2018-04-05T06:46:13Z</updated>
		
		<summary type="html">&lt;p&gt;판 1개를 가져왔습니다&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='ko'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;2018년 4월 5일 (목) 06:46 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ko'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(차이 없음)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Azuremei</name></author>	</entry>

	<entry>
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8&amp;diff=171&amp;oldid=prev</id>
		<title>Shanmei: 새 문서: &lt;pre&gt; #12_file_io '''     [파일 입출력] file input/output                  standard input/output(표준입출력 : 콘솔/idle)                     콘콜 : 콘솔창(까만화...</title>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0404_18%EC%9D%BC%EC%B0%A8&amp;diff=171&amp;oldid=prev"/>
				<updated>2018-04-04T12:50:30Z</updated>
		
		<summary type="html">&lt;p&gt;새 문서: &amp;lt;pre&amp;gt; #12_file_io &amp;#039;&amp;#039;&amp;#039;     [파일 입출력] file input/output                  standard input/output(표준입출력 : 콘솔/idle)                     콘콜 : 콘솔창(까만화...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#12_file_io&lt;br /&gt;
'''&lt;br /&gt;
    [파일 입출력] file input/output&lt;br /&gt;
                 standard input/output(표준입출력 : 콘솔/idle)&lt;br /&gt;
                    콘콜 : 콘솔창(까만화면)에서 입력받거나 출력하는 것을 표준입출력이라고 함&lt;br /&gt;
&lt;br /&gt;
      - 파일 입출력 :파일을 생성, 삭제, 읽기, 쓰기 등을 하는 것&lt;br /&gt;
      - 파일과 디렉토리&lt;br /&gt;
          디렉토리 :&lt;br /&gt;
            &amp;gt; 폴더 혹은 디렉토리&lt;br /&gt;
            &amp;gt; 파일과 또다른 디렉토리를 포함할 수 있다.&lt;br /&gt;
            &amp;gt; 용량이 없다.&lt;br /&gt;
          파일 :&lt;br /&gt;
            &amp;gt; 컴퓨터에서 정보를 저장하는 논리적인 단위&lt;br /&gt;
            &amp;gt; 파일명+확장자&lt;br /&gt;
            &amp;gt; 읽기, 쓰기, 실행 등을 할 수 있다. (폴더는 안으로 접근하다는 개념만 있고 읽기, 실행 등의 기능은 수행하지 않는다.)&lt;br /&gt;
            &amp;gt; 파일은 물리적인 디스크(hdd, ssd, usb...)에 내용이 쓰여져 있고 우리가 폴더형태를 찾고 실행하는 것은 운영체제(os)의 파일시스템 역할(폴더는 파일시스템에서 구분하기 좋으라고 만들어준 것)&lt;br /&gt;
&lt;br /&gt;
            &amp;gt; 기본적으로 모든 파일은 메모장으로 열 수 있다. 우리가 idle 편집기를 통해 소스 파일을 다루는 것도 메모장으로 열어서 편집하는 것과 동일(but idle는 코드실행과 같은 기능이 있는 것.)&lt;br /&gt;
&lt;br /&gt;
              - binary 파일 : 특정 프로그램으로 열어야 알아볼 수 있는 파일(메모장으로 열었을 때 알아볼 수 있는 형태 :&lt;br /&gt;
                   docc, hwp)&lt;br /&gt;
              - text 파일 메모장으로 열었을 때 우리가 알아볼 수 있는 파일, 순수 텍스트 파일  (예 : txt, .py, .html, .xml)&lt;br /&gt;
            - &amp;gt; 파일을 읽는 것은 메모장으로 열었을 때 보이는 형태 그대로 읽는다(기본적인 파일입출력)&lt;br /&gt;
            텍스트파일 형태는 우리가 다룰 수 있지만 바이너리는 알아볼 수 없어져서 못다룬다&lt;br /&gt;
            바이너리 파일을 프로그램으로 다두류면 워드가 docx 열었듯 분석해야한다. 그래서 이런 형태의 파일을 다룰 때는 라이브러리를 차용함&lt;br /&gt;
[파일 다루는 방법]&lt;br /&gt;
파일객체 = open(&amp;quot;파일이름&amp;quot;, &amp;quot;파일열기모드&amp;quot;) 이 때의 파일 이름은 상대경로/절대경로가 들어갈 수 있다.&lt;br /&gt;
    절대경로는 c\부터 다 들어감&lt;br /&gt;
    파일객체 = 변수(오픈을 통해 파일 경로를 전달해줄 때 그를 다루는 변수)&lt;br /&gt;
    파일이름 = 컴퓨터에 존재하는 파일명 혹은 전체경로(절대경로)를 포함하는 파일명&lt;br /&gt;
    파일열기모드&lt;br /&gt;
        - 파일 객체도 엄밀히 말하면 도구&lt;br /&gt;
        - r : 읽기모드 : 파일의 내용을 읽기만 하고 싶을 때&lt;br /&gt;
        - w : 쓰기모드 : 파일에 내용을 쓰고싶을 때&lt;br /&gt;
        - a : 추가모드 : 파일의 내용을 추가(쓰는것)&lt;br /&gt;
        - w+, a+, r+ 등등....추가 모드도 있다.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
'''&lt;br /&gt;
#file : 파일객체(변수처럼사용), c:의 :은 드라이브를 나타냄, \는 폴더를 구분함&lt;br /&gt;
file = open(&amp;quot;c:\\test.txt&amp;quot;, &amp;quot;r&amp;quot;) # 문자열로 경로를 다룰 때는 \\를 사용(두 개 써야 하나로 인식)&lt;br /&gt;
file_name = &amp;quot;c:\\test.txt&amp;quot;&lt;br /&gt;
text = file.read() #파일 내용 전체를 '문자열로 반환해준다' &amp;gt; return &amp;quot;내용전체&amp;quot;&lt;br /&gt;
print(text) #읽은 파일 내용 출력&lt;br /&gt;
#파일을 open했으면 반드리 close도 해줘야 함&lt;br /&gt;
file.close()&lt;br /&gt;
#열고 있으면 다른 프로그램이 이 파일을 다룰 수 없다.&lt;br /&gt;
&lt;br /&gt;
#with문을 이용하여 클로즈 생략하기&lt;br /&gt;
with open(file_name, &amp;quot;r&amp;quot;) : # 문자열로 경로를 다룰 때는 \\를 사용(두 개 써야 하나로 인식)&lt;br /&gt;
    text = file.read() #파일 내용 전체를 '문자열로 반환해준다' &amp;gt; return &amp;quot;내용전체&amp;quot;&lt;br /&gt;
    print(text)&lt;br /&gt;
#위드의 수행문이 끝나면 오픈했던 파일이 자동으로 클로즈된다.&lt;br /&gt;
#파일의 내용을 한 번씩 읽기(1)&lt;br /&gt;
    #readlines : '복수!!!'&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;c:\\test.txt&amp;quot;, &amp;quot;r&amp;quot;) : &lt;br /&gt;
    text_list = file.readlines() # 전체의 내용을 한 줄씩 리스트에 추가&lt;br /&gt;
    print(text_list)&lt;br /&gt;
    print(&amp;quot;파일은 {}줄 입니다.&amp;quot;.format(len(text_list)))&lt;br /&gt;
&lt;br /&gt;
#파일 내용을 한 줄씩 읽기 (2)&lt;br /&gt;
    #readline() : s없음, 한 줄씩 문자ㅕㅇㄹ로 변환&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;c:\\test.txt&amp;quot;, &amp;quot;r&amp;quot;) :&lt;br /&gt;
    while True : #무한반복&lt;br /&gt;
        text_list = file.readline()&lt;br /&gt;
        print(text_list, end=&amp;quot;&amp;quot;) &lt;br /&gt;
        print(&amp;quot;파일은 {}줄 입니다.&amp;quot;.format(len(text_list)))&lt;br /&gt;
        if not text : # readline을 통해 읽은 내용이 없다(비어있다.)&lt;br /&gt;
            break&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
#readline을 할 때마다 '알아서' 읽고 난 뒤를 읽는다.&lt;br /&gt;
#현재 내가 읽을 위치를 offset이라고 하는데 open하고 처음에는 맨 앞, readline하고나면 한 줄 읽음 &amp;gt;&amp;gt;&amp;gt;&amp;gt; 자동으로 다음줄로 옵셋 이동&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
#파일의 단어, 라인, 통계 산출&lt;br /&gt;
with open(&amp;quot;C:\\test.txt&amp;quot;, &amp;quot;r&amp;quot;) as file :&lt;br /&gt;
    test = file.read() #전체 내용 모두 읽음&lt;br /&gt;
    word_list = test.split(&amp;quot; &amp;quot;)&lt;br /&gt;
    line_list = test.split(&amp;quot;\n&amp;quot;)&lt;br /&gt;
    print(word_list, &amp;quot;\n&amp;quot;, line_list)&lt;br /&gt;
    print(&amp;quot;단어 개수 : &amp;quot;, len(word_list))&lt;br /&gt;
    print(&amp;quot;라인 개수 : &amp;quot;, len(line_list))&lt;br /&gt;
&lt;br /&gt;
#파일 쓰기 &amp;gt;&amp;gt;&amp;gt; w로 하면 파일이 존재할 때 새로 만든다(기존 파일이 날아감...)&lt;br /&gt;
with open(&amp;quot;C:\\test2.txt&amp;quot;,&amp;quot;w&amp;quot;) as file :&lt;br /&gt;
    for i in range (1, 11) : #1~10까지 대입&lt;br /&gt;
        text = &amp;quot;{}번째 줄입니다. \n&amp;quot;.format(i)&lt;br /&gt;
        file.write(text)&lt;br /&gt;
#리드라인과 마찬가지로 라이트도 하고나면 자동으로 옵셋으로 돌아간다.(처음 옵셋은 0)&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
#파일 입출력 연습&lt;br /&gt;
'''&lt;br /&gt;
    c드라이브 root에 test_new.txt파일을 만들고 아래 내용을 작성한 뒤 파일을 읽어서 (r) 아래와 같이 출력&lt;br /&gt;
[출력내용]&lt;br /&gt;
전체 글자 수 : ??&lt;br /&gt;
전체 단어 수 : ??&lt;br /&gt;
전체 라인 수 : ??&lt;br /&gt;
'사랑' 단어 수 : ??&lt;br /&gt;
&lt;br /&gt;
test_new.txt 내용&lt;br /&gt;
사랑하는 엄마에게...&lt;br /&gt;
안녕하세요 엄마! 사랑하는 자식 홍길동이에요.&lt;br /&gt;
그럼 이만..ㅎㅎ&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shanmei</name></author>	</entry>

	</feed>