鱼C论坛

 找回密码
 立即注册
查看: 1629|回复: 20

[已解决]能否直接双击运行python程序

[复制链接]
发表于 2021-12-23 16:26:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

      大家好,对于很多使用python的初学者来说,总是这样的问题,比如一个用python写的烧录脚本,总是需要再cmd窗口输入很多cd :d/...,还有很多一大堆路径,最后才可以烧录或打开脚本,非常繁琐,能否直接在桌面上弄一个图标,然后双击就打开脚本,或双击后再按回车键就开始烧录,能否不需要用打包工具打包成exe来实现这个呢?
最佳答案
2021-12-23 17:19:17
在桌面新建一个文件,文件名后缀是 .bat
内容是这个
cd D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool
d:
D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool>esptool.py
pause

就是你输入的全部指令,最后再加个 pause,作用就是按下任意键后退出

1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-23 16:31:25 From FishC Mobile | 显示全部楼层
我也想要知道.... 如果有请告诉我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 16:35:32 | 显示全部楼层
具体一点,现在就假设你要烧录一个程序,写出你在这个过程中用到的全部命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 16:43:09 | 显示全部楼层
人造人 发表于 2021-12-23 16:35
具体一点,现在就假设你要烧录一个程序,写出你在这个过程中用到的全部命令

所有的指令就是各种cd 指到最后的py路径而已,没有其他特别的指令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 16:44:50 | 显示全部楼层
world_of_0_and_ 发表于 2021-12-23 16:43
所有的指令就是各种cd 指到最后的py路径而已,没有其他特别的指令

具体一点,像下面这样的
下面这是我编译两个源文件生成main这个可执行文件
用到的全部命令
$ cd code/C/list
$ ls
list.c  list.h  main  main.c
$ rm main
$ ls
list.c  list.h  main.c
$ gcc -g -Wall -c main.c
$ ls
list.c  list.h  main.c  main.o
$ gcc -g -Wall -c list.c
$ ls
list.c  list.h  list.o  main.c  main.o
$ gcc -g -Wall -o main main.o list.o
$ ls
list.c  list.h  list.o  main  main.c  main.o
$
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 16:54:17 From FishC Mobile | 显示全部楼层
直接双击.py文件就可以运行了
或者右键.py文件创建快捷方式,把快捷方式移到桌面也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:00:37 | 显示全部楼层
人造人 发表于 2021-12-23 16:44
具体一点,像下面这样的
下面这是我编译两个源文件生成main这个可执行文件
用到的全部命令

D:\路径
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:03:16 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-23 17:07 编辑

       如果完全不需要看到脚本输出的信息,也不需要用键盘交互,而且,脚本也确定不会出现运行问题,那么可以这样,把源代码的扩展名由 ".py" 改成 ".pyw",只要用鼠标左键双击脚本文件,脚本就可以脱离 CMD 窗口, "神不知,鬼不觉" 地开始运行了,这个方法适合编写 Python 的 GUI 代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:06:40 | 显示全部楼层
怎么不能上传图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:08:18 | 显示全部楼层
jackz007 发表于 2021-12-23 17:03
如果完全不需要看到脚本输出的信息,而且,脚本也确定不会出现运行问题,那么可以这样,把源代码的 ...

我试了,双击完全没反应
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:09:52 | 显示全部楼层
人造人 发表于 2021-12-23 16:44
具体一点,像下面这样的
下面这是我编译两个源文件生成main这个可执行文件
用到的全部命令

因传不了图片,我就直接把输入的指令写在下面。我只在刚打开的cmd窗口输入了以下三个指令,都是路径指令,没其他的
cd D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool
d:
D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool>esptool.py
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:10:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:10:31 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-23 17:13 编辑
world_of_0_and_ 发表于 2021-12-23 17:08
我试了,双击完全没反应


        那你需要看到的反应是什么?我说过,这样做的前提是不需要用 CMD 窗口进行人机交互,而且,代码无 BUG。
        你可以通过把一段文本写入一个文件来验证这个方法是否确实可行。如果文件被创建,而且内容符合预期,那就足可以证明这个方法确实是有效的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:11:35 | 显示全部楼层
hrpzcf 发表于 2021-12-23 16:54
直接双击.py文件就可以运行了
或者右键.py文件创建快捷方式,把快捷方式移到桌面也可以

直接双击,出来cmd黑色界面,然后马上闪退
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:14:56 | 显示全部楼层
jackz007 发表于 2021-12-23 17:10
那你需要看到的反应是什么?我说过,这样做的前提是不需要用 CMD 窗口进行人机交互,而且,代码 ...

因为这是一个烧录程序,烧录的时候大概要30秒钟,我双击.py是闪退,双击.pyw完全没反应
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:15:42 | 显示全部楼层
world_of_0_and_ 发表于 2021-12-23 17:11
直接双击,出来cmd黑色界面,然后马上闪退

        在代码的最后添加一句
input('Press <Enter Key . . .>')
        停住屏幕,看看屏幕输出的信息是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:16:08 | 显示全部楼层
是不是需要在烧录程序里面写的路径txt文件,然后在主程序开头加载进去?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:19:17 | 显示全部楼层    本楼为最佳答案   
在桌面新建一个文件,文件名后缀是 .bat
内容是这个
cd D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool
d:
D:\Backup\Documents\WeChat Files\y\FileStorage\File\2021-12\esptool>esptool.py
pause

就是你输入的全部指令,最后再加个 pause,作用就是按下任意键后退出

1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:21:16 | 显示全部楼层
jackz007 发表于 2021-12-23 17:15
在代码的最后添加一句

        停住屏幕,看看屏幕输出的信息是什么

双击后确实是停在Press <Enter Key ...>的界面,但再按回车后闪退
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:26:07 | 显示全部楼层
本帖最后由 jackz007 于 2021-12-23 17:27 编辑
world_of_0_and_ 发表于 2021-12-23 17:16
是不是需要在烧录程序里面写的路径txt文件,然后在主程序开头加载进去?

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\DOS Prompt Here\command]
@="cmd.exe /k cd %1"
        把代码框中的文本复制粘贴进记事本,保存为 ".reg" 文件(扩展名为 ".reg"),然后,用鼠标左键双击,将此文件导入注册表,这个时候,用 Windows 资源管理器找到保存有需要运行 Python 源代码所在的子目录,用鼠标指针指向此子目录,鼠标右键在弹出式菜单上选择 "DOS Prompt Here",于是,你就可以获得一个 Python 源代码所在路径的 CMD 窗口,这时,通过下面的命令行运行 Python 脚本:
Python x.py

        当然,这里假定 Python 脚本文件名是 "x.py"。
        这样运行脚本的好处是,当脚本存在 BUG 时,可以直接看到 Python 给出的错误信息。
      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 12:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表