Python에서 파일 처리 광범위한 작업을 수행하는 데 사용할 수 있는 강력하고 다양한 도구입니다. 그러나 Python 프로그램을 작성할 때 파일 처리의 장점과 단점을 신중하게 고려하여 코드가 안전하고 안정적이며 제대로 작동하는지 확인하는 것이 중요합니다.
이 기사에서 우리는 탐구할 것이다 Python 파일 처리, 장점, 단점 및 Python 파일에서 열기, 쓰기 및 추가 기능이 작동하는 방식.
Python 파일 처리
Python은 파일 처리를 지원하며 사용자가 파일을 처리할 수 있도록 합니다. 즉, 파일 읽기 및 쓰기와 함께 다른 많은 파일 처리 옵션과 함께 파일 작업을 수행할 수 있습니다. 파일 처리의 개념은 다양한 다른 언어로 확장되었지만 구현은 Python의 다른 개념과 마찬가지로 복잡하거나 길지만 여기서 이 개념도 쉽고 짧습니다. 파이썬 파일을 텍스트 또는 바이너리로 다르게 처리하며 이것이 중요합니다. 각 코드 줄에는 일련의 문자가 포함되어 있으며 텍스트 파일을 형성합니다. 파일의 각 줄은 특수 문자로 끝납니다. 단종 또는 줄 끝 같은 캐릭터 반점 {,} 또는 개행 문자. 현재 줄을 끝내고 통역사에게 새 줄이 시작되었음을 알려줍니다. 파일을 읽고 쓰는 것부터 시작해 보겠습니다.
Python의 파일 처리 장점
- 다재 : Python의 파일 처리를 사용하면 파일 생성, 읽기, 쓰기, 추가, 이름 바꾸기 및 삭제와 같은 광범위한 작업을 수행할 수 있습니다.
- 유연성 : Python의 파일 처리는 다양한 파일 형식(예: 텍스트 파일, 바이너리 파일, CSV 파일 등) 및 파일에 대한 다양한 작업(예: 읽기, 쓰기, 추가 등)을 수행합니다.
- 사용자 – 친숙한 : Python은 파일 처리를 위한 사용자 친화적인 인터페이스를 제공하므로 파일을 쉽게 생성하고 읽고 조작할 수 있습니다.
- 크로스 플랫폼 : Python 파일 처리 기능은 다양한 플랫폼(예: Windows, Mac, Linux)에서 작동하므로 원활한 통합과 호환성이 가능합니다.
Python에서 파일 처리의 단점
- 발생하기 쉬운 오류: Python의 파일 처리 작업은 특히 코드를 주의 깊게 작성하지 않았거나 파일 시스템에 문제(예: 파일 권한, 파일 잠금 등)가 있는 경우 오류가 발생하기 쉽습니다.
- 보안 위험 : Python의 파일 처리는 특히 프로그램이 시스템의 민감한 파일에 액세스하거나 수정하는 데 사용할 수 있는 사용자 입력을 허용하는 경우 보안 위험을 초래할 수 있습니다.
- 복잡성 : Python의 파일 처리는 특히 고급 파일 형식이나 작업을 사용할 때 복잡할 수 있습니다. 파일이 적절하고 안전하게 처리되도록 하려면 코드에 세심한 주의를 기울여야 합니다.
- 성능 : Python의 파일 처리 작업은 특히 대용량 파일을 처리하거나 복잡한 작업을 수행할 때 다른 프로그래밍 언어보다 느릴 수 있습니다.
이 기사에서는 다음 사항을 고려할 것입니다. 괴짜.txt 파일을 예로 들어보겠습니다.
Hello world techcodeview.com 123 456>
Python 파일 열기
읽기나 쓰기와 같은 파일 작업을 수행하기 전에 먼저 해당 파일을 열어야 합니다. 이를 위해 Python의 내장 함수를 사용해야 합니다. 열려 있는() 하지만 파일을 열 때 파일을 여는 목적을 나타내는 모드를 지정해야 합니다.
f = open(filename, mode)>
다음 모드가 지원되는 경우:
- 아르 자형: 읽기 작업을 위해 기존 파일을 엽니다.
- 안에: 쓰기 작업을 위해 기존 파일을 엽니다. 파일에 이미 일부 데이터가 포함되어 있으면 재정의되지만 파일이 없으면 파일도 생성됩니다.
- ㅏ: 추가 작업을 위해 기존 파일을 엽니다. 기존 데이터를 재정의하지 않습니다.
- r+: 파일에서 데이터를 읽고 쓰는 것입니다. 파일의 이전 데이터가 재정의됩니다.
- w+: 데이터를 쓰고 읽습니다. 기존 데이터를 재정의합니다.
- a+: 파일에서 데이터를 추가하고 읽습니다. 기존 데이터를 재정의하지 않습니다.
읽기 모드에서 작업
방법은 여러 가지가 있습니다 Python에서 파일을 읽는 방법 . 읽기 모드에서 파일의 내용을 어떻게 읽는지 살펴보겠습니다.
예시 1: open 명령은 읽기 모드에서 Python 파일을 열고 for 루프는 파일에 있는 각 줄을 인쇄합니다.
파이썬3
# a file named 'geek', will be opened with the reading mode.> file> => open> (> 'geek.txt'> ,> 'r'> )> # This will print every line one by one in the file> for> each> in> file> :> > print> (each)> |
>
>
산출:
Hello world techcodeview.com 123 456>
예시 2: 이 예에서는 Python 파일의 모든 문자를 포함하는 문자열을 추출한 다음 사용할 수 있습니다. 파일.읽기() .
파이썬3
arp-a 명령
# Python code to illustrate read() mode> file> => open> (> 'geeks.txt'> ,> 'r'> )> print> (> file> .read())> |
>
>
산출:
Hello world techcodeview.com 123 456>
예시 3: 이 예에서는 다음을 사용하여 파일을 읽는 방법을 살펴보겠습니다. ~와 함께 성명 파이썬에서.
파이썬3
# Python code to illustrate with()> with> open> (> 'geeks.txt'> ) as> file> :> > data> => file> .read()> print> (data)> |
>
>
산출:
Hello world techcodeview.com 123 456>
예시 4: 파일을 읽는 또 다른 방법은 다음 코드와 같이 특정 개수의 문자를 호출하는 것입니다. 인터프리터는 저장된 데이터의 처음 5개 문자를 읽고 이를 문자열로 반환합니다.
파이썬3
# Python code to illustrate read() mode character wise> file> => open> (> 'geeks.txt'> ,> 'r'> )> print> (> file> .read(> 5> ))> |
>
>
다이애나 안쿠디노바
산출:
Hello>
예시 5: Python에서 파일을 읽는 동안 줄을 나눌 수도 있습니다. Split() 함수는 공백이 발견되면 변수를 분할합니다. 원하는 대로 문자를 사용하여 분할할 수도 있습니다.
파이썬3
# Python code to illustrate split() function> with> open> (> 'geeks.txt'> ,> 'r'> ) as> file> :> > data> => file> .readlines()> > for> line> in> data:> > word> => line.split()> > print> (word)> |
>
>
산출:
['Hello', 'world'] ['techcodeview.com'] ['123', '456']>
write() 함수를 사용하여 파일 생성
Python에서 파일을 읽는 것과 마찬가지로 여러 가지 방법으로 파일을 읽을 수 있습니다. Python으로 파일에 쓰기 . Python에서 write() 함수를 사용하여 파일의 내용을 어떻게 쓰는지 살펴보겠습니다.
쓰기 모드에서 작업
파일을 생성하는 방법과 쓰기 모드가 어떻게 작동하는지 살펴보겠습니다.
예시 1: 이 예에서는 쓰기 모드와 write() 함수를 사용하여 파일에 쓰는 방법을 살펴보겠습니다. close() 명령은 사용 중인 모든 리소스를 종료하고 이 특정 프로그램의 시스템을 해제합니다.
파이썬3
# Python code to create a file> file> => open> (> 'geek.txt'> ,> 'w'> )> file> .write(> 'This is the write command'> )> file> .write(> 'It allows us to write in a particular file'> )> file> .close()> |
>
>
산출:
This is the write commandIt allows us to write in a particular file>
예시 2: with() 함수와 함께 작성된 명령문을 사용할 수도 있습니다.
파이썬3
# Python code to illustrate with() alongwith write()> with> open> (> 'file.txt'> ,> 'w'> ) as f:> > f.write(> 'Hello World!!!'> )> |
>
>
산출:
Hello World!!!>
추가 모드 작동
추가 모드가 어떻게 작동하는지 살펴보겠습니다.
예: 이 예에서는 이전 예에서 만든 Python 파일을 사용합니다.
조인을 사용하여 SQL에서 업데이트
파이썬3
# Python code to illustrate append() mode> file> => open> (> 'geek.txt'> ,> 'a'> )> file> .write(> 'This will add this line'> )> file> .close()> |
>
>
산출:
This is the write commandIt allows us to write in a particular fileThis will add this line>
Python 파일 처리에는 다양한 작업을 처리하는 데 사용되는 다양한 다른 명령도 있습니다.
rstrip(): This function strips each line of a file off spaces from the right-hand side. lstrip(): This function strips each line of a file off spaces from the left-hand side.>
코드 작업 시 훨씬 더 깔끔한 구문과 예외 처리를 제공하도록 설계되었습니다. 이는 해당되는 경우 명령문과 함께 사용하는 것이 좋은 습관인 이유를 설명합니다. 이 방법을 사용하면 열려 있는 모든 파일이 작업이 완료된 후 자동으로 닫혀 자동 정리가 되기 때문에 유용합니다.
파일 처리의 모든 기능 구현
이 예에서는 위에서 본 모든 개념을 다룰 것입니다. 그 외에도 Python의 Remove() 함수를 사용하여 파일을 삭제하는 방법도 살펴보겠습니다. 운영 체제 모듈 .
파이썬3
import> os> def> create_file(filename):> > try> :> > with> open> (filename,> 'w'> ) as f:> > f.write(> 'Hello, world!
'> )> > print> (> 'File '> +> filename> +> ' created successfully.'> )> > except> IOError:> > print> (> 'Error: could not create file '> +> filename)> def> read_file(filename):> > try> :> > with> open> (filename,> 'r'> ) as f:> > contents> => f.read()> > print> (contents)> > except> IOError:> > print> (> 'Error: could not read file '> +> filename)> def> append_file(filename, text):> > try> :> > with> open> (filename,> 'a'> ) as f:> > f.write(text)> > print> (> 'Text appended to file '> +> filename> +> ' successfully.'> )> > except> IOError:> > print> (> 'Error: could not append to file '> +> filename)> def> rename_file(filename, new_filename):> > try> :> > os.rename(filename, new_filename)> > print> (> 'File '> +> filename> +> ' renamed to '> +> new_filename> +> ' successfully.'> )> > except> IOError:> > print> (> 'Error: could not rename file '> +> filename)> def> delete_file(filename):> > try> :> > os.remove(filename)> > print> (> 'File '> +> filename> +> ' deleted successfully.'> )> > except> IOError:> > print> (> 'Error: could not delete file '> +> filename)> if> __name__> => => '__main__'> :> > filename> => 'example.txt'> > new_filename> => 'new_example.txt'> > create_file(filename)> > read_file(filename)> > append_file(filename,> 'This is some additional text.
'> )> > read_file(filename)> > rename_file(filename, new_filename)> > read_file(new_filename)> > delete_file(new_filename)> |
>
>
산출:
File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.>