2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

打开程序的一个小程序

时间:10-30来源:作者:点击数:28
城东书院 www.cdsy.xyz

自我想象,有预先准备的程序1,2及和其对应的txt文件1,2;txt内写的是exe程序的路径,只需要修改txt内程序路径即可更换所启动的程序。

就是下图箭头所示的那俩

用python的Fitten Code插件。

(本人不懂代码,不会写程序!)

用Fitten Code写的另外一个程序

用Fitten Code Chat 自动写了个修改CUE文件的python代码

  • (这是第一次提问)打开程序目录下,和程序同名的txt文件,读取第一行,并启动txt文件内记录的exe程序
  • Fitten Code
  • 您可以使用以下 Python 代码来实现这个功能。请确保您已经安装了 Python,并且将代码放在与目标 .txt 文件和 .exe 文件相同的目录下。
  • import os
  • import subprocess
  • # 获取当前程序的名称(不带扩展名)
  • program_name = os.path.splitext(os.path.basename(__file__))[0]
  • # 构建 txt 文件的路径
  • txt_file_path = f"{program_name}.txt"
  • # 读取 txt 文件的第一行
  • with open(txt_file_path, 'r') as file:
  • exe_name = file.readline().strip() # 去掉换行符
  • # 启动 exe 程序
  • exe_path = os.path.join(os.path.dirname(__file__), exe_name)
  • subprocess.run([exe_path])
  • CopyInsert
  • 代码解释:
  • os.path.splitext(os.path.basename(__file__)) 获取当前脚本的名称。
  • 构建目标 .txt 文件的路径。
  • 使用 with open 打开并读取 .txt 文件的第一行。
  • 使用 subprocess.run 启动读取到的 .exe 文件。
  • 请注意:
  • 确保 .txt 文件中仅包含可执行文件的名称(例如 program.exe)。
  • 确保 .exe 文件在同一目录下存在。
  • 使用该代码时,请确保遵循安全原则,并确认要执行的 .exe 文件是安全和可信的。
  • (发现读取格式有问题,这是第二次提问)
  • 能读取ANSI和UTF-8格式的txt
  • Fitten Code
  • 可以使用 Python 的 open 函数来读取不同编码格式的文本文件。下面是修改后的代码,它可以处理 ANSI 和 UTF-8 编码格式的 .txt 文件:
  • import os
  • import subprocess
  • def read_first_line(file_path):
  • """读取文件的第一行,支持 ANSI 和 UTF-8 编码。"""
  • try:
  • with open(file_path, 'r', encoding='utf-8') as file:
  • return file.readline().strip()
  • except UnicodeDecodeError:
  • # 如果是 UTF-8 解码失败,则尝试 ANSI 编码
  • with open(file_path, 'r', encoding='gbk') as file: # 在中国常用的 ANSI 编码是 GBK
  • return file.readline().strip()
  • # 获取当前程序的名称(不带扩展名)
  • program_name = os.path.splitext(os.path.basename(__file__))[0]
  • # 构建 txt 文件的路径
  • txt_file_path = f"{program_name}.txt"
  • # 读取 txt 文件的第一行
  • exe_name = read_first_line(txt_file_path)
  • # 启动 exe 程序
  • exe_path = os.path.join(os.path.dirname(__file__), exe_name)
  • subprocess.run([exe_path])
  • CopyInsert
  • 代码说明:
  • read_first_line 函数尝试以 UTF-8 编码打开并读取文件。如果失败,则捕获UnicodeDecodeError,并以 GBK 编码(常见的 ANSI 编码)重试。
  • 其余部分与之前的代码相同,负责获取程序名称和启动 .exe 文件。
  • 注意事项:
  • 请确保 .txt 文件中仅包含可执行文件的名称(例如 program.exe)。
  • 该代码应在与 .txt 和 .exe 文件相同的目录下运行。
  • 确认要执行的 .exe 文件安全无病毒。

已经打包好的程序,有需要的自取

https://wwuv.lanzouw.com/b02ihhkmfi

密码:ckm0

代码:

  • import os
  • import subprocess
  • def read_first_line(file_path):
  • """读取文件的第一行,支持 ANSI 和 UTF-8 编码。"""
  • try:
  • with open(file_path, 'r', encoding='utf-8') as file:
  • return file.readline().strip()
  • except UnicodeDecodeError:
  • # 如果是 UTF-8 解码失败,则尝试 ANSI 编码
  • with open(file_path, 'r', encoding='gbk') as file: # 在中国常用的 ANSI 编码是 GBK
  • return file.readline().strip()
  • # 获取当前程序的名称(不带扩展名)
  • program_name = os.path.splitext(os.path.basename(__file__))[0]
  • # 构建 txt 文件的路径
  • txt_file_path = f"{program_name}.txt"
  • # 读取 txt 文件的第一行
  • exe_name = read_first_line(txt_file_path)
  • # 启动 exe 程序
  • exe_path = os.path.join(os.path.dirname(__file__), exe_name)
  • subprocess.run([exe_path])

 

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐