自我想象,有预先准备的程序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])