Linux Windows 왔다갔다 작업하기

이다언·2024년 12월 31일

PyTorch

목록 보기
3/3

Upstages에서 준 GPU서버에서 작업하다, 백업하기 위해 github에 git push하고, GPU 작업이 밀려있으면, 다른거 하기 위해서 내 로컬 노트북에서 git pull해서 작업하다가, GPU 작업 끝나면, 로컬을 push하고, GPU에서 pull해서 실행하는데,

문제는 GPU 리눅스 서버는 / Windows는 \,
또 리눅스 서버는 /부터 시작하는데 Windows 서버는 C:\ 부터

그래서 Windows에서 작업하다가 Linux넘어가면 경로를 수정하는 절차가 필요했다

그런데 가만히 보니 git clone 한거 하위경로는 다 똑같았고, 그 외 깃에 안 올린 폴더가 있었는데 그거는 리눅스와 윈도우즈 모두 git 폴더와 동일 계층에 있었다.

그래서 현재 작업위치 기준으로 git 폴더를 찾아내서, Linux와 Windows에서 위치 수정 하지 않도록 바꿔보았다.

Linux("/")와 Windows("\") 경로표시 방식 차이는 from pathlib import Path의 Path 라이브러리를 쓰면 자동 변환해준다.


Windows 작업 위치 C:\Code_test\CV\upstageailab-cv-classification-cv_c5\Daun\dev_py\dev_valid\win_baseline-test_valid2.py

Linux 작업 위치
/cv/upstageailab-cv-classification-cv_c5/Daun/dev_py/dev_valid/win_baseline-test_valid2.py

CV폴더 부터는 동일한데 그 위가 달라서,

script_path = Path(__file__).resolve()
현재 파이썬 파일의 경로를 가져온다
working_directory = script_path.parents[4]
0부터 시작해서 4까지, 5단계 위의 폴더 경로를 저장한다

실제 소스

# 현재 스크립트 파일의 경로
script_path = Path(__file__).resolve()
working_directory = script_path.parents[4]
print(working_directory)
trn_origin_csv = Path(fr"{working_directory}/data/train_v0.7.csv")
print(trn_origin_csv)
trn_origin_csv_read = pd.read_csv(trn_origin_csv)
trn_data = Path(fr"{working_directory}\train")

trn_csv_path = Path(fr"{working_directory}\data\trn.csv")
print(trn_csv_path)
# trn_csv = pd.read_csv(trn_csv_path)

val_csv_path = Path(fr"{working_directory}\data\trn.csv")
print(val_csv_path)

아래는 FiftyOne 엔지니어가 가르쳐준 윈도우와 리눅스 경로 변환 방법

from pathlib import Path

def normalize_path(path_string):
    return str(Path(path_string))

result = normalize_path("C:/Users/Documents/file.txt")
print(type(result))  # This will output: <class 'str'>
print(result)

결과 <class 'str'> C:\Users\Documents\file.txt
/이 \로 바뀌어져 있었다.

profile
AI 클라우드 웹개발자

0개의 댓글