Python 파일 및 디렉터리 작업

목차

파일 인코딩

파일 읽기

파일 열기

모드에서 일반적으로 사용되는 세 가지 기본 액세스 모드

파일 읽기

파일 닫기

개방형 구문

파일 쓰기 작업

문서의 종합 케이스

a.txt 콘텐츠

암호

b.txt 파일

디렉토리 작업

머리말

OS 모듈

특정 방법 

os.path 모듈

특정 방법 

파일 인코딩

머리말: 컴퓨터는 0과 1만 인식할 수 있으므로 리치 텍스트 파일은 다음 위치에 저장됩니다.

코딩 기술: 콘텐츠를 바이너리로 번역하는 방법과 바이너리를 인식 가능한 콘텐츠로 번역하는 방법을 기록하는 번역 규칙

참고: 컴퓨터에서 사용할 수 있는 많은 인코딩(UTF-8, GBK, Big5) 등이 있습니다. 다른 인코딩은 콘텐츠를 다른 이진 형식으로 변환하므로 파일을 올바르게 읽고 쓰려면 올바른 인코딩을 사용해야 합니다.

파일 읽기

머리말: 내부 메모리에 저장된 데이터는 컴퓨터를 끄면 사라지므로 데이터를 장기간 저장하려면 하드 디스크, CD, U 디스크 및 기타 장치를 사용해야 합니다. 데이터 관리 및 검색을 용이하게 하기 위해 파일의 개념이 도입되었습니다.

알아채다:

  • 기사, 동영상, 실행 프로그램을 모두 파일로 저장하고 파일명을 부여할 수 있습니다.
  • 운영 체제는 디스크의 데이터를 파일 단위로 관리합니다.
  • 파일은 텍스트 파일, 비디오 파일, 오디오 파일, 이미지 파일, 실행 파일 등으로 나눌 수 있습니다.
  • 일상 생활에서 파일 작업은 주로 열기, 닫기, 읽기, 쓰기 등을 포함합니다.

파일 열기

구문: 파일 객체=open(이름,모드,인코딩=인코딩 형식)

매개변수 설명 

  • name: 열 대상 파일 이름의 문자열(파일이 있는 특정 경로를 포함할 수 있음)
  • 모드: 파일을 여는 모드(액세스 모드)를 설정합니다: 읽기 전용, 쓰기, 추가 등.
  • 인코딩 형식: 파일 인코딩 형식(UTF-8 권장)

알아채다:

  • 전달된 세 개의 매개변수는 모두 문자열 형식입니다. 
  • 인코딩이 세 번째 매개변수가 아니므로 매개변수를 순서대로 전달할 수 없습니다.

모드에서 일반적으로 사용되는 세 가지 기본 액세스 모드

파일 읽기

구문: 변수 = 파일 object.read(숫자)

설명: num은 파일에서 읽을 데이터의 길이(바이트 단위)를 나타내며, num이 전달되지 않으면 파일의 모든 데이터를 읽는다는 의미입니다.

구문: 변수 = 파일 object.readlines()

설명: readlines는 한 줄씩 전체 파일의 내용을 한 번에 읽을 수 있으며 데이터의 각 줄이 요소인 목록을 반환할 수 있습니다.

구문: 변수 = 파일 object.readline()

설명: 한 번에 한 줄씩 읽기

파일에서 라인을 읽는 for 루프

for line in 文件对象:
    print(line)

이해: 각 라인 임시 변수는 파일에 데이터 라인을 기록합니다. 

참고: 파일을 읽을 때 파일 개체가 열려 있는 한 나중에 어떤 파일 읽기 방법을 호출하든지 간에 파일 읽기의 마지막 방법을 계속합니다.

파일 닫기

구문: 파일 object.close()

참고: close를 호출하지 않고 프로그램 실행이 중지되지 않으면 이 파일은 항상 파이썬 프로그램에 의해 점유됩니다.

개방형 구문

with open(name,mode,encoding) as 文件对象变量:
    f.readlines()

참고: with open 문 블록을 통해 파일을 작동하면 닫기 방법을 잊지 않도록 작업이 완료된 후 닫기 파일을 자동으로 닫을 수 있습니다.

파일 쓰기 작업

메모리에 파일 쓰기: file object.write(기록된 내용)

파일 플러시: 파일 object.flush()

알아채다

  • w 모드에서 파일을 쓰기 위해 open 함수를 사용할 때, 파일이 존재하지 않으면 파일이 생성되고, 파일이 존재하면 원래 파일 내용을 덮어쓰게 되며, 모드에서 파일이 존재하지 않으면 파일이 생성되며, 파일이 존재하는 경우 소스 파일을 기준으로 파일이 추가됩니다.
  • 여기서, a 매개변수의 파일 추가는 파일을 닫은 후에 추가할 수도 있습니다. 파일이 닫히지 않으면 w 매개변수 호출 쓰기 파일은 항상 추가 모드에 있습니다.
  • 쓰기를 직접 호출하면 내용이 실제로 파일에 기록되지 않고 버퍼라고 하는 프로그램 메모리에 축적됩니다.
  • 플러시/닫기가 호출되면 내용이 실제로 하드 디스크에 기록됩니다.
  • 이는 하드 디스크의 잦은 작동을 피하여 효율성을 떨어뜨리는 것을 방지하기 위한 것입니다(파일 저장, 하드 디스크에 한 번에 쓰기).

문서의 종합 케이스

요구 사항: a.txt 파일의 내용을 b.txt 파일로 백업

a.txt 콘텐츠

암호

#打开a.txt文件
fr=open("D:/test/a.txt","r",encoding="UTF-8")
#打开b.txt文件,准备写入
fw=open("D:/test/b.txt","w",encoding="UTF-8")
#读取a.txt文件的所有数据
for line in fr:
    #将每次读取的数据写入b.txt
    fw.write(line)
#将内存中的数据刷新至硬盘
fw.flush()
#关流
fw.close()
fr.close()

b.txt 파일

디렉토리 작업

머리말

  • os 모듈은 운영 체제 기능 및 파일 시스템과 관련된 내장 Python 모듈입니다.이 모듈의 명령문 실행 결과는 일반적으로 운영 체제와 관련됩니다.다른 운영 체제에서 실행하면 얻은 결과가 다를 수 있습니다.
  • os 모듈과 os.path 모듈은 파이썬 시스템과 함께 제공되는 모듈인 디렉토리 또는 파일에서 작동하는 데 사용됩니다.

OS 모듈

사용 전: OS 가져오기

특정 방법 

import os
#执行命令行语句
os.system("python -V")
#直接启动文件
os.startfile("D:/test/a.txt")
#返回指定路径下的文件和目录信息
print(f"文件和目录信息:{os.listdir('D:/app/youdao')}")
#创建目录
os.mkdir("D:/test/dir1")
#创建多级目录
os.makedirs("D:/test/dir2/dir3")
#删除目录
os.rmdir("D:/test/dir1")
#删除多级目录
os.removedirs("D:/test/dir2/dir3")
#设置当前工作目录
os.chdir("D:/test")
#当前的工作目录
print(f"当前的工作目录为{os.getcwd()}")

os.path 모듈

사용 전: import os.path

특정 방법 

import os.path
#获取当前位置的绝对路径(end.py为当前位置的文件)
print(os.path.abspath("end.py"))
#判断当前文件夹下的文件或目录是否存在
print(os.path.exists("end.py"))
#将目录与目录或目录与文件名拼接
print(os.path.join("D\python", "app.txt"))#D\python\app.txt
#分离路径和文件名
print(os.path.split("D:\projects\end.py"))#('D:\\projects', 'end.py')
#分离文件名和扩展名
print(os.path.splitext("app.py"))#('app', '.py')
#从一个目录中提取文件名
print(os.path.basename("D:\projects\end.py"))#end.py
#从一个目录中提取目录不包括文件名
print(os.path.dirname("D:\projects\end.py"))#D:\projects
#判断是否为目录(有end.py不是)
print(os.path.isdir("D:\projects\end.py"))#False

Supongo que te gusta

Origin blog.csdn.net/m0_60027772/article/details/132120405
Recomendado
Clasificación