• 【Python】教你写一个一键上传git的脚本(打包成exe)


    本篇博客来教你用Python写一个简单的git自动上传脚本

    前言

    为什么需要一个这样的东西?

    有的时候,我的学习代码其实没啥好commit的,写一个自动上传的脚本,就可以自动执行完所有的命令,而不需要自己手动进行git三板斧操作

    项目代码已开源 https://gitee.com/ewait/learn_python_code/tree/master/code/22-09-02%20auto_git

    效果如下

    把EXE文件丢进你的git仓库路径,点一下就会自动执行命令

    image-20220902194427843

    image-20220902195743190

    打开你的仓库可以看到,成功上传了

    image-20220902195944119

    源码实现

    其实很简单,就是用OS往系统的命令行里面写命令而已

    import os
    import time
    
    def GetTime(): #获取当前时间
        return time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
    
    #修改默认的提交信息
    commit_msg=f" \"Code updated: {GetTime()}\" "
    
    #git提交命令
    cmd_1 = "git status"
    cmd_2 = "git add --all"
    cmd_3 = "git commit -m"+commit_msg
    cmd_4 = "git push"
    
    print("[开始] 执行git自动上传")
    
    print('[CMD]',cmd_1)
    os.system(cmd_1)#显示当前动态
    print('[CMD]',cmd_2)
    os.system(cmd_2)#添加所有文件更改到工作区
    print('[CMD]',cmd_3)
    os.system(cmd_3)#自动commit
    print('[CMD]',cmd_4)
    os.system(cmd_4)#push上传
    
    print("[结束] 完成git自动上传")
    print("窗口将在5s后关闭...")
    time.sleep(5)#休眠5秒可以看清楚结果
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    这里的commit信息非常粗暴,就是当前的时间。所以如果你是在写项目,那肯定还是好好写commit信息的好。不然到时候想回退版本都不知道往哪儿回退😂

    利用pyinstaller打包成exe

    windows命令行中,安装pyinstaller

    pip install pyinstaller
    
    • 1

    安装完成之后,在命令行中输入pyinstaller,大概率会报错

    PS D:\MyCode\Python\code\22-09-02 auto_git> pyinstaller
    pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再
    试一次。
    所在位置 行:1 字符: 1
    + pyinstaller
    + ~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (pyinstaller:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这时候如果你去搜教程,什么添加环境变量啊巴拉巴拉的,很麻烦,而且还不一定有用

    在我的win11上,添加环境变量就是无效的

    这时候我们只需要找到python的安装路径,和里面存放pip包的路径

    在我的电脑上,存放路径如下。如果你找不到,可以直接全盘搜索pyinstaller.exe

    C:\Users\用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\pyinstaller.exe
    
    • 1

    然后我们就可以直接执行下面的命令了

    C:\Users\用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\pyinstaller.exe -F 文件名.py
    
    • 1

    随后pyinstaller就会开始打包,并在当前路径下生成一个build和dist文件夹。其中dist文件夹里面就存放了我们的exe文件

    image-20220902195006507

    利用ResourceHacker修改exe文件的icon

    实际上,pyinstaller是可以直接修改exe文件的icon的,命令如下

    C:\Users\用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts\pyinstaller.exe -F -w -i 图标.ico 文件名.py
    
    • 1

    在我的电脑上,图标的确修改成功了,但是运行的时候,会多次弹出很多个命令行,非常不雅观!

    所以我就不用pyinstaller来生成图标,而是采用第三方软件ResourceHacker(安装包自行百度)

    image-20220902195233974

    点击图标组里面的图标

    image-20220902195248301

    右键这个0:0,选择“替换图标”,找到你想要的图标进行替换即可

    图标只支持.ico文件,你可以用下面这个网站进行jpg转ico

    http://www.ico51.cn/

    修改好后,需要点绿色的保存按钮。然后就修改成功了

    image-20220902195546331

    image-20220902195609076

    如果你发现没有修改成功,可能是因为windows缓存的问题,重启电脑即可!

    然后你就可以把这个exe丢到任何你想访到的git仓库路径下,自动上传文件啦!

  • 相关阅读:
    c语言入门---字符函数和字符串函数
    解密hash算法:散列表、布隆过滤器和分布式一致性hash的原理与应用
    【C++】STL之String模拟实现
    IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis初识和框架搭建
    webpack配置单页面和多页面
    从 React 源码彻底搞懂 Ref 的全部 api
    一本通 1344【最短路】
    2022 深度学习 & 计算机视觉 & 感知算法 面经整理 二十五(241 242 243 244 245 246 247 248 249 250)
    7--OpenCV:图像基本操作之①截取②掩膜 操作
    Dubbo源码(七) - 集群
  • 原文地址:https://blog.csdn.net/muxuen/article/details/126669628