[PYTHON] Python에서 파일이 심볼릭 링크인지 확인하십시오.
PYTHONPython에서 파일이 심볼릭 링크인지 확인하십시오.
파이썬에는 주어진 파일 / 디렉토리가 심볼릭 링크인지 확인하는 함수가 있습니까? 예를 들어 아래 파일의 경우 래퍼 함수가 True를 반환해야합니다.
# ls -l
total 0
lrwxrwxrwx 1 root root 8 2012-06-16 18:58 dir -> ../temp/
lrwxrwxrwx 1 root root 6 2012-06-16 18:55 link -> ../log
해결법
-
==============================
1.디렉토리 항목이 심볼릭 링크인지 확인하려면 다음을 사용하십시오.
디렉토리 항목이 심볼릭 링크인지 확인하려면 다음을 사용하십시오.
예를 들어, 주어진 :
drwxr-xr-x 2 root root 4096 2011-11-10 08:14 bin/ drwxrwxrwx 1 root root 57 2011-07-10 05:11 initrd.img -> boot/initrd.img-2.. >>> import os.path >>> os.path.islink('initrd.img') True >>> os.path.islink('bin') False
-
==============================
2.파이썬 3.4 이상에서는 Path 클래스를 사용할 수 있습니다.
파이썬 3.4 이상에서는 Path 클래스를 사용할 수 있습니다.
from pathlib import Path # rpd is a symbolic link >>> Path('rdp').is_symlink() True >>> Path('README').is_symlink() False
is_symlink () 메서드를 사용할 때는주의해야합니다. 명명 된 객체가 심볼릭 링크 인 한 링크의 대상이 존재하지 않는 경우에도 True를 반환합니다. 예를 들어 (Linux / Unix) :
ln -s ../nonexistentfile flnk
그런 다음 현재 디렉토리에서 파이썬을 시작합니다.
>>> from pathlib import Path >>> Path('flnk').is_symlink() True >>> Path('flnk').exists() False
프로그래머는 자신이 정말로 원하는 것을 결정해야합니다. 파이썬 3은 많은 클래스를 개명 한 것으로 보인다. Path 클래스의 매뉴얼 페이지를 읽는 것이 좋습니다. https://docs.python.org/3/library/pathlib.html
-
==============================
3.이 주제를 부 풀리지는 않았지만 symlink가 실제 파일로 변환하고 파이썬 도구 라이브러리 내에서이 스크립트를 찾도록 심볼 링크를 찾고 있었기 때문에이 페이지로 리디렉션되었습니다.
이 주제를 부 풀리지는 않았지만 symlink가 실제 파일로 변환하고 파이썬 도구 라이브러리 내에서이 스크립트를 찾도록 심볼 링크를 찾고 있었기 때문에이 페이지로 리디렉션되었습니다.
#Source https://github.com/python/cpython/blob/master/Tools/scripts/mkreal.py import sys import os from stat import * BUFSIZE = 32*1024 def mkrealfile(name): st = os.stat(name) # Get the mode mode = S_IMODE(st[ST_MODE]) linkto = os.readlink(name) # Make sure again it's a symlink f_in = open(name, 'r') # This ensures it's a file os.unlink(name) f_out = open(name, 'w') while 1: buf = f_in.read(BUFSIZE) if not buf: break f_out.write(buf) del f_out # Flush data to disk before changing mode os.chmod(name, mode) mkrealfile("/Users/test/mysymlink")
from https://stackoverflow.com/questions/11068419/check-if-file-is-symlink-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Google App Engine - 세션 가져 오기 (Python 2.7) (0) | 2018.10.25 |
---|---|
[PYTHON] Google 애플 리케이션 로그인 django에 (0) | 2018.10.25 |
[PYTHON] C #의 Python 스크립트에서 특정 메서드를 호출하려면 어떻게해야합니까? (0) | 2018.10.24 |
[PYTHON] 트위스트 conch 파일 전송 (0) | 2018.10.24 |
[PYTHON] python3에서 프로그램의 표준 입력으로 보내기 3 (0) | 2018.10.24 |