go自动编译脚本

import os
import sys

if len(sys.argv) < 2:
    print("未选择文件!")
    sys.exit()
go_os = input("系统: ")
num = 0

if go_os:
    num += 1
    os.putenv("GOOS", go_os)
go_arch = input("架构: ")

if go_arch:
    os.putenv("GOARCH", go_arch)
file_name = input("名称: ")
# 需要改名
if file_name:
    if go_os != "windows" and num != 0:
        # 非windows
        upx_name = file_name
        file_name = f" -o {file_name}"
    else:
        # windows
        upx_name = f"{file_name}.exe"
        file_name = f" -o {file_name}.exe"
# 不需要改名
else:
    # 非windows
    if go_os != "windows" and num != 0:
        upx_name = f"{sys.argv[1]}".replace(".\\", "").replace(".go", "")
    else:
        # windows
        upx_name = f"{sys.argv[1]}".replace(".\\", "").replace(".go", ".exe")
# print(f"go build -ldflags=\"-w -s\"{file_name} {sys.argv[1]}")
print("正在构建...")
os.system(f"go build -ldflags=\"-w -s\"{file_name} {sys.argv[1]}")
# print(f"upx -9 {upx_name}")
print("正在压缩...")
os.system(f"upx -9 {upx_name}")
print("构建完成!")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。