
SSH2 SFTP 라이브러리를 사용하여 파일 정보를 가져올 때, lstat() 함수는 파일의 정보를 가져올 때 상대 경로로 가져옵니다.
파일의 경로가 절대 경로인지 상대 경로인지 구분하기 위해서는, SFTP 서버에서 제공하는 realpath() 함수를 사용하면 됩니다. realpath() 함수는 파일의 절대 경로를 반환합니다.
파일의 존재 여부를 확인하는 방법은, lstat() 함수의 반환값을 사용하면 됩니다. lstat() 함수의 반환값이 0이면 파일이 존재하지 않습니다.
다음은 예제입니다.
#hostingforum.kr
python
import paramiko
# SFTP 서버 연결
sftp = paramiko.SFTPClient.from_path('/path/to/ssh2/sftp/endpoint')
# 파일의 절대 경로 가져오기
abs_path = sftp.realpath('/path/to/file')
# 파일의 정보 가져오기
stat = sftp.lstat(abs_path)
# 파일의 존재 여부 확인
if stat.st_size == 0:
print('파일이 존재하지 않습니다.')
else:
print('파일이 존재합니다.')
# SFTP 서버 연결 종료
sftp.close()
2025-05-04 19:58