python如何以exe所在目录启动exe文件
时间: 2023-08-18 19:08:47 浏览: 94
可以使用以下代码来获取exe所在目录,并以此作为启动目录启动exe文件:
```python
import os
import sys
# 获取当前脚本所在目录
base_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
# 切换到exe所在目录
os.chdir(base_dir)
# 启动exe文件
os.system('your_exe_file.exe')
```
其中,`sys.argv[0]` 表示当前脚本的文件名,`os.path.abspath()` 方法返回文件的绝对路径,`os.path.dirname()` 方法返回文件所在的目录路径,`os.chdir()` 方法用于切换工作目录,`os.system()` 方法用于执行系统命令。上述代码中的 `your_exe_file.exe` 需要替换为要启动的exe文件名。
相关问题
python 转为exe后如何启动
将 Python 脚本转为可执行文件(exe)后,可以通过以下步骤启动:
1. 打开命令提示符或终端,切换到保存了转换后的exe文件所在的目录。
2. 输入转换后的exe文件的名称,按下回车键。
3. 如果编写的 Python 脚本需要其他依赖库,确保这些库在环境中可用。
4. 如果一切顺利,转换后的exe文件将会运行,并执行脚本中定义的任务。
需要注意的是,转换过程中可能需要使用第三方工具来完成,如pyinstaller、cx_Freeze等,具体步骤会因工具而异。另外,由于一些特殊的Python模块不支持将其转换为exe,因此可能需要进行一些修改或手动配置,以确保转换后的可执行文件的正常运行。
python写一个exe程序,功能判断一定是.txt格式文件拖到exe程序上,exe程序才能启动,否则弹窗提示“请拖动文件到程序上方”,然后点击确定结束exe程序,exe程序正常启动后自动获取.txt文件的路径及名字,判断exe程序同目录下其他文件及格式不一致的就删除其他文件
以下是一个实现该功能的Python程序:
```python
import os
import sys
import ctypes
import winreg
# 获取当前exe程序所在目录
exe_dir = os.path.dirname(sys.executable)
# 获取.txt文件关联的文件类型
try:
with winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, '.txt') as key:
file_type = winreg.QueryValue(key, 'Content Type')
except:
file_type = None
# 判断是否拖入了.txt文件
if len(sys.argv) > 1 and sys.argv[1].endswith('.txt'):
# 获取拖入的文件路径
file_path = sys.argv[1]
# 删除同目录下的其他文件
for file_name in os.listdir(exe_dir):
if file_name != os.path.basename(sys.argv[0]) and not file_name.endswith('.txt'):
os.remove(os.path.join(exe_dir, file_name))
else:
# 弹窗提示
ctypes.windll.user32.MessageBoxW(None, '请拖动文件到程序上方', '提示', 0x40)
sys.exit()
# 执行其他操作
print('已获取.txt文件的路径及名字:', file_path)
```
该程序首先获取当前exe程序所在目录,然后通过Win32 API读取.txt文件关联的文件类型。接着判断是否拖入了.txt文件,如果是则获取文件路径并删除同目录下的其他文件;如果不是则弹窗提示并结束程序。最后执行其他操作,这里只是简单地打印了.txt文件的路径及名字。
注意,由于该程序使用了Win32 API,因此只能在Windows操作系统上运行。如果需要在其他操作系统上运行,需要使用不同的GUI库和API。
阅读全文