基于Python编写一个git自动上传的脚本(打包成exe)

 更新时间:2025年12月13日 10:57:02   作者:慕雪华年  
这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

前言

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

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

效果如下

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

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

源码实现

其实很简单,就是用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秒可以看清楚结果

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

利用pyinstaller打包成exe

在windows命令行中,安装pyinstaller

pip install pyinstaller

安装完成之后,在命令行中输入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

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

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

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

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

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

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

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

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

利用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

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

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

点击图标组里面的图标

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

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

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

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

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

到此这篇关于基于Python编写一个git自动上传的脚本(打包成exe)的文章就介绍到这了,更多相关Python git自动上传内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python检测一个对象是否为字符串类的方法

    Python检测一个对象是否为字符串类的方法

    这篇文章主要介绍了Python检测一个对象是否为字符串类的方法,即检测是一个对象是否是字符串对象,本文还讲解了一个有趣的判断方法,需要的朋友可以参考下
    2015-05-05
  • python 生成不重复的随机数的代码

    python 生成不重复的随机数的代码

    用的是筛选法,网上有解释,简单的说 就是先随机生成一串数字,之后用下标来判断这些数字有没有重复,重复的就筛去
    2011-05-05
  • python for循环赋值问题

    python for循环赋值问题

    这篇文章主要介绍了python for循环赋值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Python中reshape的使用详解

    Python中reshape的使用详解

    这篇文章主要介绍了Python中reshape的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Python自动化测试框架之unittest使用详解

    Python自动化测试框架之unittest使用详解

    unittest是Python自动化测试框架之一,提供了一系列测试工具和接口,支持单元测试、功能测试、集成测试等多种测试类型。unittest使用面向对象的思想实现测试用例的编写和管理,可以方便地扩展和定制测试框架,支持多种测试结果输出格式
    2023-04-04
  • Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)

    Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)

    这篇文章主要介绍了Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python爬虫的数据库连接问题【推荐】

    python爬虫的数据库连接问题【推荐】

    这篇文章主要介绍了python爬虫的数据库连接问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 对Python3中的print函数以及与python2的对比分析

    对Python3中的print函数以及与python2的对比分析

    下面小编就为大家分享一篇对Python3中的print函数以及与python2的对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码

    win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码

    这篇文章主要介绍了win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • python调用百度API实现人脸识别

    python调用百度API实现人脸识别

    这篇文章主要介绍了python调用百度API实现人脸识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论