파이썬 파일 I / O
이 장에서는 모든 기본적인 I / O 기능, 더 많은 기능이 파이썬 표준 문서를 참조하십시오에 대해 설명합니다.
화면에 인쇄
가장 쉬운 방법은 인쇄 문 출력을 사용하는 것입니다, 당신은 쉼표로 구분 그것은 0 개 이상의 표현을 전달할 수 있습니다. 이 기능을 사용하면 문자열 표현을 전달하는 표현을 변환하고, 다음과 같은 결과를 표준 출력에 기록됩니다 :
#!/usr/bin/python # -*- coding: UTF-8 -*- print "Python 是一个非常棒的语言,不是吗?";
표준 화면에 다음과 같은 결과를 생성합니다 :
Python 是一个非常棒的语言,不是吗?
읽기 키보드 입력
파이썬 표준에서 텍스트 입력의 라인을 읽을 개의 기본 기능을 제공하는 디폴트 표준 입력은 키보드이다. 다음과 같습니다 :
- raw_input을
- 입력
raw_input을 기능
raw_input을 ([프롬프트]) 함수는 표준 입력에서 라인을 읽고, 문자열을 반환하는 (뒤에 줄 바꿈 제거) :
#!/usr/bin/python # -*- coding: UTF-8 -*- str = raw_input("请输入:"); print "你输入的内容是: ", str
당신은 어떤 문자열을 입력하라는 메시지가, 다음 동일한 문자열의 화면에 표시됩니다. "! 안녕하세요 파이썬은"나는를 입력하면 다음과 같이 출력은 다음과 같습니다
请输入:Hello Python! 你输入的内容是: Hello Python!
입력 기능
입력 ([프롬프트]) 함수에 raw_input ([프롬프트])과 실질적으로 유사한 기능하지만, 입력은 입력으로 파이썬 표현을 수신하고, 동작의 결과를 반환 할 수있다.
#!/usr/bin/python # -*- coding: UTF-8 -*- str = input("请输入:"); print "你输入的内容是: ", str
이 입력에 대응하는 다음과 같은 결과를
请输入:[x*5 for x in range(2,10,2)] 你输入的内容是: [10, 20, 30, 40]
열기 및 파일 닫기
이제 읽고 표준 입력과 출력에 기록 할 수 있습니다. 지금 읽고 실제 데이터 파일을 작성하는 방법을 살펴.
파이썬은 기본 동작의 파일 기본에 필요한 기능 및 방법을 제공한다. 당신은 객체가 대부분의 파일 작업을 할파일을 사용할 수 있습니다.
open 함수
당신은 파일을 열 파이썬에 내장 된 오픈 () 함수를 사용하여 파일 객체를 생성하고 관련 방법은 읽고 쓸 호출 할 수 있어야합니다.
구문 :
file object = open(file_name [, access_mode][, buffering])
다음과 같이 다양한 매개 변수의 세부 사항은 다음과 같습니다
- FILE_NAME : FILE_NAME 변수는 파일 이름을 액세스 할 값을 포함하는 문자열입니다.
- ACCESS_MODE : 추가, 읽기, 쓰기 : ACCESS_MODE 파일 모드를 열기로 결정했다. 로 다음과 모든 가능한 값의 전체 목록을 참조하십시오. 이 비 필수 파라미터는 기본 파일 액세스 모드는 읽기 전용 (R)를.
- 버퍼링 : 버퍼링의 값을 0으로 설정 한 경우, 스토리지 없을 것이다. 버퍼링의 값이 1을 경우 파일을 액세스 할 때 광고를 등록한다. 값이 버퍼의 크기를 나타내는, 1보다 큰 정수 버퍼링 설정되면 기억 영역이다. 음의 값이면, 시스템 기본을위한 버퍼 저장 영역의 크기.
파일의 다른 모드의 전체 목록을 엽니 다
모드 | 기술 |
---|---|
연구 | 읽기 전용 모드로 파일을 엽니 다. 포인터 파일은 파일의 시작 부분에 위치한다. 이것은 디폴트 모드이다. |
RB | 읽기 전용 바이너리 형식의 파일을 엽니 다. 파일의 시작 부분에 포인터를 제출합니다. 이것은 디폴트 모드이다. |
R + | 읽기와 쓰기를위한 파일을 엽니 다. 파일의 시작 부분에 포인터를 제출합니다. |
RB + | 읽고 바이너리 형식으로 쓰기 위해 파일을 엽니 다. 파일의 시작 부분에 포인터를 제출합니다. |
w | 만 쓰기 위해 파일을 엽니 다. 파일이 이미 존재하는 경우는 덮어 쓰게됩니다. 파일이 존재하지 않으면, 새로운 파일을 생성한다. |
WB | 바이너리 형식으로 만 쓰기 위해 파일을 엽니 다. 파일이 이미 존재하는 경우는 덮어 쓰게됩니다. 파일이 존재하지 않으면, 새로운 파일을 생성한다. |
w의 + | 읽기와 쓰기를위한 파일을 엽니 다. 파일이 이미 존재하는 경우는 덮어 쓰게됩니다. 파일이 존재하지 않으면, 새로운 파일을 생성한다. |
WB + | 읽고 바이너리 형식으로 쓰기 위해 파일을 엽니 다. 파일이 이미 존재하는 경우는 덮어 쓰게됩니다. 파일이 존재하지 않으면, 새로운 파일을 생성한다. |
추가의 파일을 엽니 다. 파일이 이미 존재하는 경우, 파일 포인터는 파일의 끝에 배치됩니다. 즉, 새로운 콘텐츠 후 기존의 컨텐츠로 기록된다. 파일이 존재하지 않는 경우, 쓰기에 대한 새 파일을 만듭니다. | |
AB | 바이너리 형식으로 APPEND를위한 파일을 엽니 다. 파일이 이미 존재하는 경우, 파일 포인터는 파일의 끝에 배치됩니다. 즉, 새로운 콘텐츠 후 기존의 컨텐츠로 기록된다. 파일이 존재하지 않는 경우, 쓰기에 대한 새 파일을 만듭니다. |
A + | 읽기와 쓰기를위한 파일을 엽니 다. 파일이 이미 존재하는 경우, 파일 포인터는 파일의 끝에 배치됩니다. 이 파일이 열릴 모드를 추가한다. 파일이 존재하지 않는 경우, 읽기와 쓰기에 대한 새 파일을 만듭니다. |
AB + | 바이너리 형식으로 APPEND를위한 파일을 엽니 다. 파일이 이미 존재하는 경우, 파일 포인터는 파일의 끝에 배치됩니다. 파일이 존재하지 않는 경우, 읽기와 쓰기에 대한 새 파일을 만듭니다. |
파일 객체 속성
파일이 열린 후에는 파일 객체가, 당신은 파일에 대한 모든 종류의 정보를 얻을 수 있습니다.
다음은 관련된 모든 파일 특성 및 개체의 목록입니다 :
재산 | 기술 |
---|---|
file.closed | 파일이 닫혀지고있는 경우, 그렇지 않으면 false를 반환 true를 돌려줍니다. |
file.mode | 열린 파일 액세스 모드로 돌아갑니다. |
file.name | 파일의 이름을 돌려줍니다. |
file.softspace | 인쇄 출력을 사용하는 경우, 그것은 false를 반환 공백 문자가 와야합니다. 그렇지 않으면 true를 반환합니다. |
다음 예 :
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name print "是否已关闭 : ", fo.closed print "访问模式 : ", fo.mode print "末尾是否强制加空格 : ", fo.softspace
위의 출력의 예 :
文件名: foo.txt 是否已关闭 : False 访问模式 : wb 末尾是否强制加空格 : 0
가까운 () 메소드
가까운 File 객체 () 메소드는 어떤 정보가 버퍼를 작성하지 새로 고침, 그들은 더 이상 쓸 수 없습니다 그 후에 파일을 닫습니다.
다른 파일에 다시 할당 할 파일 객체를 참조 할 때, 파이썬은 이전 파일을 닫습니다. 파일을 닫으려면 닫기 () 메소드를 통해 좋은 습관이다.
구문 :
fileObject.close();
예를 들면 :
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") print "文件名: ", fo.name # 关闭打开的文件 fo.close()
위의 출력의 예 :
文件名: foo.txt
파일을 읽고 쓰기 :
파일 객체는 다수의 방법보다 쉽게 액세스 파일에 우리를 허용합니다. 파일을 읽고 쓸 수 () 메소드를 읽고 ()를 사용하고 작성하는 방법을 참조하십시오.
쓰기 () 메소드
열려있는 파일을 임의의 문자열을 쓰기 () 메소드를 작성합니다. 파이썬 문자열이 아니라 그냥 텍스트보다는 바이너리 데이터 될 수 있습니다 점에 유의하는 것이 중요합니다.
쓰기 () 메서드는 문자열 ( '\ n을')의 끝 부분에 줄 바꿈을 추가하지 않습니다 :
구문 :
fileObject.write(string);
여기서, 전달되는 파라미터는 파일의 내용을 열 작성한다.
예를 들면 :
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "wb") fo.write( "www.w3big.com!\nVery good site!\n"); # 关闭打开的文件 fo.close()
상기 방법은 foo.txt의 파일을 생성하고, 수신 된 문서의 내용을 기록하고 최종적으로 파일을 닫는다. 이 파일을 열 경우 다음과 같은 표시됩니다 :
$ cat foo.txt www.w3big.com! Very good site!
() 메소드를 읽고
방법은 열려있는 파일에서 문자열을 읽고 () 참조하십시오. 파이썬 문자열이 아니라 그냥 텍스트보다는 바이너리 데이터 될 수 있습니다 점에 유의하는 것이 중요합니다.
구문 :
fileObject.read([count]);
여기서, 인수 읽기 열려있는 파일의 바이트 수에서 전달되고있다. 파일의 시작 부분에서 시작하는 방법은 들어오는 카운트하면, 아마도 파일의 마지막까지 더 많은 콘텐츠를 읽으려고 시도 할 것이다, 판독된다.
예를 들면 :
여기에서 우리는 위에서 만든 foo.txt의 파일을 사용합니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 关闭打开的文件 fo.close()
위의 출력의 예 :
读取的字符串是 : www.w3big
파일 위치 :
파일 위치
말 () 메소드는 당신에게 파일 내에서 현재 위치를 알려줍니다; 즉, 다음 읽기 또는 쓰기 파일 많은 바이트의 시작 후 발생합니다.
현재 파일의 위치를 변경하는 방법 ([에서, 오프셋) 추구합니다. 오프셋 변수는 바이트 수를 이동시킬 나타낸다. 바이트 변수를 이동하기 시작에서 기준 위치를 지정합니다.
로부터는 바이트를 이동하는 기준 위치와 파일의 시작을 의미 0으로 설정되는 경우. 1 기준 위치와 현재 위치로 설정 한 경우. 2로 설정된 경우, 파일의 단부는 기준 위치로서 이용 될 것이다.
예를 들면 :
파일에서 우리는 foo.txt의 위에 만들어와.
#!/usr/bin/python # -*- coding: UTF-8 -*- # 打开一个文件 fo = open("foo.txt", "r+") str = fo.read(10); print "读取的字符串是 : ", str # 查找当前位置 position = fo.tell(); print "当前文件位置 : ", position # 把指针再次重新定位到文件开头 position = fo.seek(0, 0); str = fo.read(10); print "重新读取字符串 : ", str # 关闭打开的文件 fo.close()
위의 출력의 예 :
读取的字符串是 : www.w3big 当前文件位置 : 10 重新读取字符串 : www.w3big
이름 바꾸기와 파일을 삭제
파이썬의 os 모듈은 같은 이름 바꾸기와 파일 삭제와 같은 파일 처리 작업 방법을 수행 할 수 있도록 제공합니다.
당신이 관련된 다양한 기능을 호출하기 전에이 모듈을 사용하려면 먼저 가져와야합니다.
() 메소드의 이름을 변경 :
이름을 변경 () 메서드는 두 개의 매개 변수, 현재 파일 이름과 새 파일 이름이 필요합니다.
구문 :
os.rename(current_file_name, new_file_name)
예를 들면 :
다음의 예는 이미있는 test1.txt를 존재하는 파일의 이름을 변경합니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 重命名文件test1.txt到test2.txt。 os.rename( "test1.txt", "test2.txt" )
() 메소드를 제거
파일을 삭제하려면 삭제 () 메서드를 사용하여, 당신은 파일의 이름이 매개 변수로 삭제 될 제공해야합니다.
구문 :
os.remove(file_name)
예를 들면 :
다음의 예는 이미 test2.txt가 존재 파일을 삭제합니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除一个已经存在的文件test2.txt os.remove("test2.txt")
디렉토리에 파이썬 :
모든 파일은 다양한 디렉토리에 포함되어 있지만, 파이썬은 쉽게 처리 할 수 있습니다. os 모듈은 사용자가 작성하는 데 도움이, 삭제 및 디렉토리를 변경하는 방법에는 여러 가지가 있습니다.
MKDIR () 메소드
당신은 현재 디렉토리에있는 os 모듈에서 mkdir를 () 메소드가 새로운 디렉토리를 생성 할 수 있습니다. 사용자가 작성하는 디렉토리의 이름을 포함하는 파라미터를 제공 할 필요가있다.
구문 :
os.mkdir("newdir")
예를 들면 :
다음 예는 현재 디렉토리에 새로운 디렉토리 테스트를 만듭니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 创建目录test os.mkdir("test")
CHDIR () 메소드
당신은 현재 디렉토리를 변경하려면 CHDIR () 메서드를 사용할 수 있습니다. 매개 변수의 CHDIR () 메서드를 사용하면 현재 디렉토리의 디렉토리 이름으로 설정할 것을 요구한다.
구문 :
os.chdir("newdir")
예를 들면 :
다음의 예는 "/ 홈 / NEWDIR"디렉토리를 입력합니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 将当前目录改为"/home/newdir" os.chdir("/home/newdir")
에 getcwd () 메소드 :
에 getcwd () 메서드는 현재 작업 디렉토리를 표시합니다.
구문 :
os.getcwd()
예를 들면 :
다음 예는 현재 디렉토리를 보여줍니다
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 给出当前的目录 os.getcwd()
rmdir을 () 메소드
rmdir을 () 메소드는 디렉토리, 매개 변수로 전달 된 디렉토리 이름을 삭제합니다.
이 디렉토리를 삭제하고 모든 내용이 먼저 삭제해야합니다 전에.
구문 :
os.rmdir('dirname')
예를 들면 :
다음은 삭제 "/ tmp를 / 테스트"디렉토리 예입니다. 완벽하게 호환 디렉토리 이름은 그렇지 않으면 현재 디렉토리에있는 디렉토리를 검색합니다, 부여해야합니다.
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 删除”/tmp/test”目录 os.rmdir( "/tmp/test" )
파일, 디렉토리, 관련 방법
다음과 같은 세 가지 방법, 파일 및 디렉토리 윈도우와 유닉스 운영 체제에서 실제 취급 및 조작의 다양한 수행의 중요한 원천이 될 수 있습니다 :