파일 파이썬을 복사하는 방법의 아홉 가지

다음은의 데모입니다 "파이썬에서 파일을 복사하는 방법"방법 구가지 .

  1. shutil copyfile () 방법
  2. 또 shutil 복사 () 메소드
  3. shutil copyfileobj () 방법
  4. 또 shutil COPY2 () 方法
  5. OS는 popen 방법
  6. OS 시스템 () 메소드
  7. 스레드 () 메소드
  8. 아동 () 메서드를 호출
  9. 자식 프로세스 check_output () 메소드

파일 파이썬을 복사하는 방법의 아홉 가지

1. Shutil Copyfile () 방법

타겟 쓸 때만 대상 소스의 컨텐츠를 복사하는 유일한 방법. 당신이하지 않으면 쓰기 권한이 발생합니다 IO 오류를 .

이것은 그 파일 타입을 무시하고, 입력 파일을 열어서 판독된다. 다음으로, 특수 파일에 대한 다른 치료를하지 않습니다 않으며 새로운 특수 파일을 복사합니다.

상기 CopyFile 수 ()의 하위 레벨 기능과 방법 () copyfileobj 이하. 그것은 인수로 파일 이름을 것이며, 그들이 열린 파일 핸들이 전달됩니다 copyfileobj () . 이 방법은 세번째 매개 변수를 가지고, 당신은 버퍼 길이를 지정하는 데 사용할 수 있습니다. 그런 다음 읽기 블록 버퍼 크기에 지정된 파일을 엽니 다. 그러나 기본 동작은 전체 파일을 읽을 한 시간입니다.

파일 파이썬을 복사하는 방법의 아홉 가지
, 784,758,214 어떻게 노인 배우는보고 : 당신은 여전히 프로그래밍 세계에서 혼동하는 경우, 당신은 파이썬 버클 쿤 내용은 우리와 함께 할 수 있습니다. 경험의 교환. 기본적인 웹 개발 파이썬 스크립트에서, 파충류, 장고, 데이터 마이닝 및 기타 프로젝트는 제로 데이터가 마무리된다 대처하기 위해 수 있습니다. 모든 작은 파이썬 파트너에게 주어! 클릭 우리에게 가입, 몇 가지 학습 방법을 공유하고 작은 세부 사항에주의를 지불 할 필요가 파이썬 학습자 모임

다음은 CopyFile 수 () 점 방식.

  • 그것은라는 파일 대상 소스의 내용을 복사합니다.
  • 대상이 쓰기 가능하지 않은 경우, 복사 작업이 발생합니다 IO 오류의 예외.
  • 원본 및 대상 파일이 동일한 경우, 그것은 반환 SameFileError을 .
  • 다른 이름으로 대상 기존의 경우, 사본의 내용을 덮어 쓰게됩니다.
  • 대상이 디렉토리 일 경우,이 방법은 디렉토리에 복사되지 않습니다, 오류가 (13) 발생을 의미합니다.
  • 여기에는 문자 또는 블록과 파이프 라인 등의 복사 파일을 지원하지 않습니다.

파일 파이썬을 복사하는 방법의 아홉 가지

2. 또 shutil 복사 () 메소드

파일 파이썬을 복사하는 방법의 아홉 가지

복사 () 함수의 방법과 유사한 "CP" UNIX 명령한다. 이는 그 대상이 같은 이름 (와 소스 파일이 생성됩니다 폴더 인 경우 기본 이름 새 파일). 또한,이 방법은 소스 파일을 타겟으로 그 내용 권한 동기화로 복사. 같은 파일을 복사 할 경우, 그것은 또한 던질 수 SameFileError을 .

파일 파이썬을 복사하는 방법의 아홉 가지

파일 파이썬을 복사하는 방법의 아홉 가지

3. Shutil Copyfileobj () 방법

이 방법은 복사 대상 파일 경로 또는 객체 파일. 대상이 파일 객체 인 경우, 호출 할 필요가 copyfileobj () 명시 적으로 가까운 그 후를. 이 선택적 매개 변수 (버퍼 크기), 당신은 버퍼 길이를 제공하는 데 사용할 수 있다고 가정한다. 이 복제하는 동안 메모리에 저장된 바이트 수입니다. 시스템은 기본 크기는 16킬로바이트이다 사용합니다.

파일 파이썬을 복사하는 방법의 아홉 가지

4. 또 shutil COPY2 () 方法

그러나 COPY2 () 함수의 방법과 유사한 복사 () . 그러나, 데이터를 복사 할 수있는 동시에, 당신은 또한 메타 데이터에 액세스 및 수정 시간을 추가 할 수 있습니다. 일으킬 수있는 동일한 파일 복사 SameFileError을 .

파일 파이썬을 복사하는 방법의 아홉 가지

호기심 용 - () CopyMode를 ()와 Copystat의 차이.

파일 파이썬을 복사하는 방법의 아홉 가지

5. Os Popen()方法

该方法创建一个指向或来自该命令的管道。它返回一个连接到管道的打开的文件对象。您可以根据文件打开模式(即’r’(默认)或’w’)使用它进行读取或写入。

파일 파이썬을 복사하는 방법의 아홉 가지

  • 模式 –它可以是’r’(默认)或’w’。
  • bufsize –如果其值为0,则不会发生缓冲。如果设置为1,则在访问文件时将进行行缓冲。如果您提供的值大于1,则缓冲将以指定的缓冲区大小进行。但是,对于负值,系统将采用默认缓冲区大小。

对于Windows操作系统。

파일 파이썬을 복사하는 방법의 아홉 가지

对于Linux操作系统。

파일 파이썬을 복사하는 방법의 아홉 가지

6. Os System()方法

它是运行任何系统命令的最常见方式。使用system()方法,可以在subshell中调用任何命令。在内部,这种方法会调用标准的C库函数。

此方法返回命令的退出状态。

对于Windows操作系统。

파일 파이썬을 복사하는 방법의 아홉 가지

对于Linux操作系统。

파일 파이썬을 복사하는 방법의 아홉 가지

7.以Async方式使用线程库的Python文件复制

如果要以异步方式复制文件,请使用以下方法。在这里,我们使用Python的线程模块在后台运行复制操作。

使用此方法时,请确保采用锁定以避免死锁。如果您的应用程序正在使用多个线程读取/写入文件,您可能会面对它。

파일 파이썬을 복사하는 방법의 아홉 가지

8.使用子进程的Call()方法在Python中复制一个文件

子进程模块提供了一个简单的界面来处理子进程。它使我们能够启动子进程,附加到其输入/输出/错误管道,并检索返回值。

子流程模块旨在替代传统模块和功能,如*os.system,os.spawn ,os.popen *,popen2。***。

它公开一个call()方法来调用系统命令来执行用户任务。

파일 파이썬을 복사하는 방법의 아홉 가지

9.使用子进程的Check_output()方法在Python中复制文件

하위 사용 과정check_output () 메소드를 사용하면 외부 명령이나 프로그램을 실행하고 출력을 캡처 할 수 있습니다. 또한 파이프 라인을 지원합니다.

파일 파이썬을 복사하는 방법의 아홉 가지

추천

출처blog.51cto.com/14510224/2438067