Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python Move 파일:완전한 가이드

Python의 shutil.move() 메서드는 파일을 컴퓨터의 다른 위치로 이동합니다. 이 방법은 shutil 모델의 일부이며 이 방법을 사용하기 전에 가져와야 합니다.

파일 이동은 Python 프로그램에서 일반적인 작업입니다. 예를 들어 파일을 생성하는 프로그램을 만들고 있다고 가정해 보겠습니다. 만들려는 새 파일을 위한 공간을 만들기 위해 폴더에서 기존 파일을 모두 이동할 수 있습니다.

바로 shutil.move()입니다. 함수가 들어옵니다. shutil.move() 기능을 사용하면 시스템의 한 폴더에서 다른 폴더로 파일을 이동할 수 있습니다. 이 자습서에서는 예제를 참조하여 shututil.move()를 사용하는 방법에 대해 설명합니다. 코드를 이동하는 기능입니다.

파이썬 셧틸

Shutil 모듈은 파일에서 실행할 수 있는 광범위한 고급 작업을 제공합니다. os 라이브러리와 달리 shutil에는 파일 모음에서 실행할 수 있는 함수가 있습니다.

이 튜토리얼에서는 shutil.move()에 초점을 맞출 것입니다. 함수를 사용하여 Python을 사용하여 파일을 이동할 수 있습니다.

move()를 살펴보기 전에 함수를 사용하려면 먼저 코드에 shutil 라이브러리를 가져와야 합니다. 다음 Python import 문을 사용하여 이를 수행할 수 있습니다.

import shutil

파이썬 이동 파일

shutil.move() 기능은 컴퓨터에서 파일을 이동합니다. 이 메서드는 이동하려는 파일의 파일 경로와 새 파일 경로를 인수로 받습니다.

이 함수의 구문은 다음과 같습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

shutil.move(source, destination)

shutil.move() 다음과 같은 두 개의 매개변수를 허용합니다.

  • 소스 경로 :이동하려는 파일의 경로입니다.
  • 대상 경로 :파일을 이동할 파일 경로입니다.

이동() 이동한 파일의 경로를 반환하는 함수입니다.

대상이 다른 파일과 일치하는 경우 기존 파일을 덮어씁니다.

지정하는 파일 경로는 절대 또는 상대가 될 수 있습니다.

절대 파일 경로는 파일로 직접 연결되는 완전한 경로입니다(예:/home/career_karma/file.txt ). 상대 파일 경로는 Python 프로그램이 실행되고 있는 디렉터리에 상대적인 위치를 나타냅니다(예:file.txt ).

존재하지 않는 대상 디렉터리를 지정하면 새 디렉터리가 생성됩니다.

os 라이브러리에는 os.rename()이 포함되어 있습니다. 파일 이름을 바꾸는 데 자주 사용되는 방법입니다. 이 방법은 파일을 이동할 수도 있습니다. 그러나 shutil 방법은 파일 이동을 위해 특별히 설계되었습니다. 구문 shutil.move() os.rename()보다 이해하기 쉽습니다. 파일을 이동하는 경우.

Python 파일 이동 예제

shutil.move() 함수를 사용하는 방법에 대한 몇 가지 예를 살펴보겠습니다.

단일 파일 이동

raw_data.csv라는 파일이 있다고 가정합니다. data라는 디렉토리로 이동하려는 현재 작업 디렉토리에 있습니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

import shutil

source = "raw_data.csv"
destination = "data"

new_path = shutil.move(source, destination)

print(new_path)

코드 반환:

data/raw_data.csv

먼저, Shutil 라이브러리를 가져왔습니다. 다음으로 두 개의 Python 변수를 선언했습니다. 출처 변수는 이동하려는 파일의 이름을 저장합니다. 우리의 목적지 변수는 파일을 이동하려는 디렉토리의 이름을 저장합니다.

이 예에서는 소스 및 대상에 대한 상대 파일 경로를 지정했습니다. 이는 raw_data.csv 파일이 및 디렉토리 data Python 파일과 동일한 디렉토리에 있는 파일을 참조하십시오. Python 파일이 /home/career_karma/program에 저장되어 있는 경우 , 우리가 참조하는 파일과 디렉토리는 그 디렉토리에 저장됩니다.

다음으로 shuil.move()를 사용합니다. 파일을 이동합니다. 작업 결과(이동된 파일의 경로)를 new_path 변수에 할당합니다. . 다음으로 new_path의 값을 출력합니다. , 새 파일의 경로를 반환합니다.

Python에서 파일을 성공적으로 이동했습니다.

참고: 파일 이동에 사용한 것과 동일한 구문을 폴더 이동에도 사용할 수 있습니다.

파일 이동 및 이름 변경

shutil.move() 기능을 사용하면 파일이 이동된 후 파일 이름을 변경할 수 있습니다.

raw_data.csv를 이동한다고 가정해 보겠습니다. data라는 폴더에 , 파일 이름을 raw_data_2019.csv로 변경 . 다음 코드를 사용하여 그렇게 할 수 있습니다.

import shutil

source = "raw_data.csv"
destination = "data/raw_data_2019.csv"

new_path = shutil.move(source, destination)

print(new_path)

코드 반환:

data/raw_data_2019.csv

새 파일의 대상을 지정할 때 파일의 새 이름도 지정합니다. 대상 data/raw_data_2019.csv를 지정합니다. 즉, 파일이 이동되면 data 예배 규칙서. 새 파일에는 raw_datra_2019.csv라는 이름이 지정됩니다. .

여러 파일 이동

shutil.move()를 사용할 수도 있습니다. 여러 파일을 이동하는 기능입니다. 그렇게 하기 위해 우리는 os 라이브러리도 참조할 것입니다. os.listdir()을 사용할 수 있습니다. 디렉토리에 있는 파일 목록을 가져오는 메소드입니다.

/home/career_karma/data의 모든 파일을 이동한다고 가정해 보겠습니다. 디렉토리를 /home/career_karma/old_data라는 새 디렉토리로 . 데이터 디렉토리에는 다음 파일이 포함되어 있습니다.

  • /home/career_karma/data/data.csv
  • /home/career_karma/data/old_data.csv

다음 코드를 사용하여 그렇게 할 수 있습니다.

import shutil
import os

source = "/home/career_karma/data"
destination = "/home/career_karma/old_data"

files = os.listdir(source)

for file in files:
	new_path = shutil.move(f"{source}/{file}", destination)
	print(new_path)

코드 반환:

/home/career_karma/old_data/data.csv
/home/career_karma/old_data/old_data.csv

코드를 분해해 보겠습니다. 먼저, Shutil 및 os 라이브러리를 프로그램으로 가져옵니다. 그런 다음 콘텐츠를 이동하려는 폴더의 절대 경로를 지정합니다. 또한 폴더의 내용을 이동해야 하는 대상의 경로를 지정합니다.

다음으로 os.listdir()을 사용합니다. 콘텐츠를 이동하려는 폴더의 모든 파일 목록을 검색합니다. 우리는 Python을 사용합니다. 루프를 사용하여 이러한 각 파일을 반복합니다. 그런 다음 shutil.move()를 사용합니다. 각 개별 파일을 대상으로 이동 폴더.

move()에서 함수에서 f 문자열을 사용하여 이동하려는 파일의 전체 파일 경로를 지정합니다. 코드는 새로 이동한 파일의 파일 경로를 표시합니다.

결론

shutil.move() 기능은 컴퓨터의 한 위치에서 다른 위치로 파일을 이동합니다. 이동하려는 파일의 경로와 파일의 새 경로를 지정해야 합니다.

Python 코딩에 대해 더 알고 싶으십니까? Python 학습 방법 가이드를 확인하세요. 이 가이드에서 Python을 배우는 방법에 대한 전문가의 조언을 찾을 수 있습니다. 이 가이드에는 지식을 확장하는 데 도움이 되는 최고의 학습 리소스 목록도 포함되어 있습니다.