2016-11-10 7 views
0

그래서 Test 폴더 안에있는 my_script.py 파이썬 스크립트가 있고이 폴더 밖에 있습니다. 이 스크립트는 파일의 일부 입력 데이터를 Test 폴더에 저장해야합니다. 간단한 python my_script.py를 사용하여스크립트가 파일 경로를 가지고있을 때 디렉토리 외부에서 파이썬 코드를 실행

이제

, 내가 폴더 Test 외부에서이 스크립트를 실행하려고, 내가 스크립트를 실행하기 때문에 실패하고있는 폴더에 my_data.dat을 찾으려고합니다. my_script.py에서 실제로 경로를 수정하지 않고 올바른 경로를 사용한다고 어떻게 말할 수 있습니까?

스크립트가 다양한 경로에 대해 일반적으로 사용되고 모든 것이 나중에 자동화되기 때문에 스크립트의 경로를 수정하고 싶지 않습니다.

답변

1

상대 파일 경로 대신 절대 파일 경로를 사용해야합니다.

디렉토리 포함 파이썬 파일의 절대 경로를 효율적으로 활용하려면 다음

import os 
ROOT_DIR = os.path.dirname(__file__) 

을 그리고 당신은 그 후 "my_data.dat"

0

다음 중 하나를 수행 할 수 있습니다 패스 대신 data_file_path를 사용 my_data.dat

data_file_path = os.path.join(ROOT_DIR, 'my_data.dat') 

의 절대 경로를 얻을 수 있습니다 스크립트에 대한 매개 변수로 my_data.dat의 경로 또는 (데이터 파일이 항상 i이면 n 스크립트와 동일한 디렉토리) 변수 __file__을 사용하여 스크립트의 위치를 ​​결정하고 해당 디렉토리에서 데이터 파일을 찾을 수 있습니다.