Как скопировать каталог и его содержание к существующему местоположению с помощью Python?

У вас есть две проблемы:

Изменение отображения элемента, унаследованного от display: none, ничего не делает

Комбинатор-потомок между селектором класса и селектором псевдокласса lang означает, что только элементы, произошедшие от элементов с номером display: none (из строки 1), будут выбраны.

Вот упрощенный пример:

div {
  display: none;
}

div span {
  display: flex
}
<div><span>...</span></div>

Так как div является [117 ], не имеет значения, что такое span. Это не будет показано, потому что это в div.


Псевдокласс :lang: не делает то, о чем вы думаете

Он представляет язык, на котором написан элемент . Он не имеет ничего общего с конфигурация браузера (то есть не имеет ничего общего с языком, в котором находится пользовательский интерфейс браузера, и не имеет ничего общего с языковыми предпочтениями пользователя).

:lang(en) { background: pink; }
:lang(fr) { background: yellow; }
<p lang="en">This is English</p>
<p lang="fr">C'est français</p>


CSS не имеет механизма для определения языка пользователя.

Вы можете использовать код на стороне сервера для проверки заголовка запроса Accept-Lang, отправленного браузером, и предоставить другой документ на основе предпочтений пользователя.

32
задан Soviut 25 October 2012 в 09:38
поделиться

4 ответа

distutils.dir_util.copy_tree делает то, что Вы хотите.

Копия все дерево каталогов src к новому местоположению dst. И src и dst должны быть именами каталогов. Если src не является каталогом, повышение DistutilsFileError. Если dst не существует, он создается с mkpath (). Конечный результат копии состоит в том, что каждый файл в src копируется в dst, и каталоги под src рекурсивно копируются в dst. Возвратите список файлов, которые были скопированы или, возможно, были скопированы, с помощью их выходного имени. Возвращаемое значение незатронуто обновлением или dry_run: это - просто список всех файлов под src с именами, изменившими для нахожений под dst.

(больше документации в вышеупомянутом URL)

42
ответ дан 27 November 2019 в 21:03
поделиться

Для высокоуровневых операций файла как это использование модуль shutil и в Вашем случае функция copytree. Я думаю, что это более чисто, чем "злоупотребление" distutils.

ОБНОВЛЕНИЕ: : Забудьте ответ, я забыл, что OP действительно пробовал shutil.

0
ответ дан 27 November 2019 в 21:03
поделиться

Почему бы не реализовать его на Вашем собственном использовании os.walk?

0
ответ дан 27 November 2019 в 21:03
поделиться

Вы получаете ошибку, которая говорит, "Не может создать каталог, когда уже представляют"? Я не уверен, насколько глупый это, но все, что я сделал должен был вставить одну строку в copytree модуль: Я изменился:

def copytree(src, dst, symlinks=False):
    names = os.listdir(src)
    os.makedirs(dst)

в:

def copytree(src, dst, symlinks=False):
    names = os.listdir(src)
    if (os.path.isdir(dst)==False):
        os.makedirs(dst)       

я предполагаю, что сделал некоторый bluder. Если так, кто-то мог указать на меня это? Извините, я очень плохо знаком с Python: P

0
ответ дан 27 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: