Latest web development tutorials

파이썬 파일 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"  )

파일, 디렉토리, 관련 방법

다음과 같은 세 가지 방법, 파일 및 디렉토리 윈도우와 유닉스 운영 체제에서 실제 취급 및 조작의 다양한 수행의 중요한 원천이 될 수 있습니다 :

  • 객체 메소드 파일 : 파일 오브젝트 파일을 조작하는 방법의 시리즈를 제공한다.
  • OS 오브젝트 파일 및 디렉토리의 일련의 처리 방법을 제공한다.