Создание относительной символической ссылки в python без использования os.chdir()

Скажем, у меня есть путь к файлу:

/path/to/some/directory/file.ext

В python я хотел бы создать символическую ссылку в том же каталоге, что и файл, который указывает на файл. Я хотел бы закончить с этим:

/path/to/some/directory/symlink -> file.ext

Я могу сделать это довольно легко, используя os.chdir()для перехода в каталог и создать символические ссылки. Но os.chdir()не является потокобезопасным, поэтому я хотел бы избежать используй это. Предполагая, что текущий рабочий каталог процесса не каталог с файлом (os.getcwd()!= '/path/to/some/directory'), как лучше всего это сделать?

Думаю, я мог бы создать битую ссылку в любом каталоге, в котором я нахожусь, а затем переместите его в каталог с файлом:

import os, shutil
os.symlink('file.ext', 'symlink')
shutil.move('symlink', '/path/to/some/directory/.')

Есть ли лучший способ сделать это?

Заметьте, я не хочу заканчивать на этом:

/path/to/some/directory/symlink -> /path/to/some/directory/file.ext
6
задан Josh 20 March 2012 в 19:33
поделиться