Nói rằng tôi có một đường dẫn đến một tập tin:Tạo một liên kết tượng trưng tương đối trong python mà không sử dụng os.chdir()
/path/to/some/directory/file.ext
Trong python, tôi muốn tạo một liên kết tượng trưng trong cùng thư mục với tập tin , rằng trỏ đến tệp. Tôi muốn kết thúc với điều này:
/path/to/some/directory/symlink -> file.ext
tôi có thể làm được điều này khá dễ dàng sử dụng os.chdir() để cd vào thư mục và tạo liên kết tượng trưng. Nhưng os.chdir() không phải là chủ đề an toàn, vì vậy tôi muốn tránh sử dụng nó. Giả sử rằng thư mục làm việc hiện tại của quy trình không phải là thư mục có tệp (os.getcwd()! = '/ Path/to/some/directory'), cách tốt nhất để làm điều này là gì?
Tôi đoán tôi có thể tạo ra một liên kết bị vỡ trong bất cứ thư mục Tôi đang ở, sau đó di chuyển nó vào thư mục với tập tin:
import os, shutil
os.symlink('file.ext', 'symlink')
shutil.move('symlink', '/path/to/some/directory/.')
Có cách nào tốt hơn để làm điều này?
Lưu ý, tôi không muốn kết thúc với là thế này:
/path/to/some/directory/symlink -> /path/to/some/directory/file.ext
Điều này có vẻ vô cùng tầm thường: 'os.symlink ('/ tar/get/of/link', '/ var/tmp/lnk')' sẽ tạo '/ var/tmp/lnk' bất kể bạn đang ở đâu và bất kể '/ tar/get/of' có tồn tại hay không, vv Nếu bạn muốn mục tiêu không bắt đầu bằng'/'thì chỉ cần' os.symlink ('target', '/ var/tmp/lnk') ' . – torek