У меня есть сценарий python для копирования всех файлов с запоминающего устройства USB в целевую папку на моем компьютере с Ubuntu.Я никогда раньше не программировал на Python.
import os
import shutil
from shutil import copytree, ignore_patterns
files = os.listdir('/media/user/HP drive')
destination = '/home/user/Documents/Test/%s'
try :
for f in files:
source = '/media/user/HP drive/%s' % f
copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))
except Exception as e:
print(e)
Вышеописанный скрипт работает нормально, но он создает папку %s
внутри папки Test с символом блокировки.Когда я удаляю% s и просто использую
destination = '/home/user/Documents/Test/'
Это дает мне [Errorno 17] file exists
.
Это скрипт bash ( copy.sh ), который я хочудля запуска при подключенном устройстве USB.
#!/bin/sh
python /var/www/html/copy_flash.py #This doesn't work.
# echo "My message" > /var/www/html/thisisaverylongfilename.txt #This works
Таким образом, команда python не работает, а команда echo работает, когда я подключаю USB.
Вот строка, которую я добавил в / etc / udev / rules.d / test.rules
ACTION=="add",KERNEL=="sdb*", RUN+="/var/www/html/copy.sh"
Это потому, что USB-накопитель не готов к работе при запуске сценария bash?
- Как скопировать содержимое USB-накопителя в обычную папку, а не в% s?
- Как на самом деле скопировать содержимое?