Если у вас настроено большое количество папок для вашей работы, и вам нужно использовать один и тот же файл сценария во всех из них в течение рабочего дня, то какой самый простой способ сделать это, кроме большого количества копирования и вставки? В сегодняшнем посте SuperUser Q & A есть несколько полезных ответов и советов для разочарованного читателя.
Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Снимок экрана предоставлен csaveanu (Flickr).
Вопрос
Считыватель SuperUser Elliot ищет лучший способ отображения одного и того же файла в нескольких папках одновременно:
У меня есть более 50 папок, каждая из которых содержит большое количество данных, которые необходимо обработать. Все они обрабатываются с использованием одного и того же точного кода с использованием os.path.dirname (os.path.realpath (file)) , чтобы получить каталог, в котором находится скрипт Python, поэтому нет руководства редактирование, необходимое пользователю, просто нужно дважды щелкнуть.
Мне нужно, чтобы скрипт отображался так, как если бы он находился в каждой папке, хотя на самом деле он находился только в одном месте, чтобы я мог его отредактировать один раз, а затем при запуске из любого из этих мест путь к папке будет правильным. Альтернативой является редактирование мастера и вставка его по одной папке за раз во все более 50 папок каждый раз, когда я обновляю код, что очень утомительно и подвержено ошибкам. В Linux я мог бы установить это с помощью символической ссылки, но я не могу найти способ сделать это с Windows.
В качестве альтернативы, способ вставить файл во все целевые каталоги сразу, а не по одному, достиг бы той же цели.
Есть ли способ сделать это, вместо того, чтобы копировать и вставлять файл скрипта по одной папке за раз?
Ответ
SuperUser вкладчик gronostaj имеет ответ для нас:
Вам нужна символическая ссылка или жесткая ссылка .
Символические ссылки (или Symlinks для краткости) очень похожи на ярлыки: существует один фактический файл и несколько ссылок ( Symlinks ) на него. У них даже есть эта маленькая стрелка на иконках. В отличие от ярлыков, Симлинки могут иметь любое расширение.
Жесткие ссылки привязывают файл на жестком диске к месту в дереве каталогов. Каждый файл имеет хотя бы одну жесткую ссылку , иначе он не будет существовать ни в одном каталоге. Если файл содержит несколько жестких ссылок , исходный файл нельзя отличить от других, и файл физически существует только в одном месте.
Оба имеют свои ограничения .
- Некоторые программы плохо работают с символическими ссылками .
- При удалении исходного файла все его символические ссылки остаются неработающими.
- Вы не можете создавать папки Hard Link (но вы можете создать соединение каталогов, если Symlink недостаточно).
- Создание перекрестного раздела Жесткие ссылки невозможно.
Симлинки обычно достаточны.
Чтобы создать символическую или жесткую ссылку .
1. . Запустите привилегированную командную строку. Нажмите Ключ Windows , введите cmd , затем нажмите Ctrl + Shift + Enter em. >.
2. Выполните команду mklink:
- mklink link_name link_target для файла Symlink
- mklink/d link_name link_target для папки Symlink
- mklink/h link_name link_target для файла Жесткая ссылка
- mklink/j link_name link_target для соединения каталогов
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.