【发布时间】:2019-07-22 06:49:04
【问题描述】:
我有一个 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)
上面的脚本运行良好,但它在 Test 文件夹内创建了一个文件夹 %s 并带有锁定符号。当我删除 %s 并使用
destination = '/home/user/Documents/Test/'
它给了我[Errorno 17] file exists。
这是我想在挂载 USB 设备时运行的 bash 脚本(copy.sh)。
#!/bin/sh
python /var/www/html/copy_flash.py #This doesn't work.
# echo "My message" > /var/www/html/thisisaverylongfilename.txt #This works
所以 python 命令不起作用,但是当我插入 USB 时 echo 命令起作用。
这是我在 /etc/udev/rules.d/test.rules
中添加的行ACTION=="add",KERNEL=="sdb*", RUN+="/var/www/html/copy.sh"
是不是因为bash脚本运行时U盘没有准备好?
- 如何将 USB 驱动器的内容复制到常规文件夹而不是 %s 中?
- 如何实际复制内容?
【问题讨论】: