我正在编写一个Python脚本,将文件从计算机复制到USB随身碟。该脚本会遍历某些文件夹,并将他在其中找到的文件复制到我的pendrive的文件夹中。它还检查此文件夹是否存在,如果不存在,则创建它。 脚本在我的USB笔式驱动器上带有字母“ Y:\”的计算机上运行良好。但是,如果我更换计算机,脚本将停止工作,我需要对其进行编辑以使其与我的USB Pendrive在新PC中已接收的字母匹配。 在我的脚本中执行此操作的方法是什么? 也许有办法每次都给我的手写笔相同的字母吗?
答案 0 :(得分:0)
我的老板通常讨厌我提供这种解决方案。一旦我不得不在代码中提供文件路径,而又无法给出该链接,那么我写了一段代码,在系统中搜索文件并返回它的路径。 这就是我现在建议的解决方案,只需搜索已连接的设备并注入到已连接的设备中,如果该设备可写,您的数据就会进入该设备。 如果要小心,请使用正则表达式来匹配USB记忆棒设备类型。
import re
import subprocess
device_re = re.compile("Bus\s+(?P<bus>\d+)\s+Device\s+(?P<device>\d+).+ID\s(?P<id>\w+:\w+)\s(?P<tag>.+)$", re.I)
df = subprocess.check_output("lsusb")
devices = []
for i in df.split('\n'):
if i:
info = device_re.match(i)
if info:
dinfo = info.groupdict()
dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device'))
devices.append(dinfo)
print devices
一切顺利!我喜欢你的主意如果需要更多帮助,请联系我。