world_of_0_and_ 发表于 2021-12-23 16:26:24

能否直接双击运行python程序


      大家好,对于很多使用python的初学者来说,总是这样的问题,比如一个用python写的烧录脚本,总是需要再cmd窗口输入很多cd :d/...,还有很多一大堆路径,最后才可以烧录或打开脚本,非常繁琐,能否直接在桌面上弄一个图标,然后双击就打开脚本,或双击后再按回车键就开始烧录,能否不需要用打包工具打包成exe来实现这个呢?

傻眼貓咪 发表于 2021-12-23 16:31:25

我也想要知道.... 如果有请告诉我

人造人 发表于 2021-12-23 16:35:32

具体一点,现在就假设你要烧录一个程序,写出你在这个过程中用到的全部命令

world_of_0_and_ 发表于 2021-12-23 16:43:09

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

所有的指令就是各种cd 指到最后的py路径而已,没有其他特别的指令

人造人 发表于 2021-12-23 16:44:50

world_of_0_and_ 发表于 2021-12-23 16:43
所有的指令就是各种cd 指到最后的py路径而已,没有其他特别的指令

具体一点,像下面这样的
下面这是我编译两个源文件生成main这个可执行文件
用到的全部命令
$ cd code/C/list
$ ls
list.clist.hmainmain.c
$ rm main
$ ls
list.clist.hmain.c
$ gcc -g -Wall -c main.c
$ ls
list.clist.hmain.cmain.o
$ gcc -g -Wall -c list.c
$ ls
list.clist.hlist.omain.cmain.o
$ gcc -g -Wall -o main main.o list.o
$ ls
list.clist.hlist.omainmain.cmain.o
$

hrpzcf 发表于 2021-12-23 16:54:17

直接双击.py文件就可以运行了
或者右键.py文件创建快捷方式,把快捷方式移到桌面也可以

world_of_0_and_ 发表于 2021-12-23 17:00:37

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

D:\路径

jackz007 发表于 2021-12-23 17:03:16

本帖最后由 jackz007 于 2021-12-23 17:07 编辑

       如果完全不需要看到脚本输出的信息,也不需要用键盘交互,而且,脚本也确定不会出现运行问题,那么可以这样,把源代码的扩展名由 ".py" 改成 ".pyw",只要用鼠标左键双击脚本文件,脚本就可以脱离 CMD 窗口, "神不知,鬼不觉" 地开始运行了,这个方法适合编写 Python 的 GUI 代码。

world_of_0_and_ 发表于 2021-12-23 17:06:40

怎么不能上传图片

world_of_0_and_ 发表于 2021-12-23 17:08:18

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

我试了,双击完全没反应

world_of_0_and_ 发表于 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

人造人 发表于 2021-12-23 17:10:20

world_of_0_and_ 发表于 2021-12-23 17:00


?

jackz007 发表于 2021-12-23 17:10:31

本帖最后由 jackz007 于 2021-12-23 17:13 编辑

world_of_0_and_ 发表于 2021-12-23 17:08
我试了,双击完全没反应

      那你需要看到的反应是什么?我说过,这样做的前提是不需要用 CMD 窗口进行人机交互,而且,代码无 BUG。
      你可以通过把一段文本写入一个文件来验证这个方法是否确实可行。如果文件被创建,而且内容符合预期,那就足可以证明这个方法确实是有效的。

world_of_0_and_ 发表于 2021-12-23 17:11:35

hrpzcf 发表于 2021-12-23 16:54
直接双击.py文件就可以运行了
或者右键.py文件创建快捷方式,把快捷方式移到桌面也可以

直接双击,出来cmd黑色界面,然后马上闪退

world_of_0_and_ 发表于 2021-12-23 17:14:56

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

因为这是一个烧录程序,烧录的时候大概要30秒钟,我双击.py是闪退,双击.pyw完全没反应

jackz007 发表于 2021-12-23 17:15:42

world_of_0_and_ 发表于 2021-12-23 17:11
直接双击,出来cmd黑色界面,然后马上闪退

      在代码的最后添加一句
input('Press <Enter Key . . .>')
      停住屏幕,看看屏幕输出的信息是什么

world_of_0_and_ 发表于 2021-12-23 17:16:08

是不是需要在烧录程序里面写的路径txt文件,然后在主程序开头加载进去?

人造人 发表于 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,作用就是按下任意键后退出

world_of_0_and_ 发表于 2021-12-23 17:21:16

jackz007 发表于 2021-12-23 17:15
在代码的最后添加一句

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

双击后确实是停在Press <Enter Key ...>的界面,但再按回车后闪退

jackz007 发表于 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


@="cmd.exe /k cd %1"
      把代码框中的文本复制粘贴进记事本,保存为 ".reg" 文件(扩展名为 ".reg"),然后,用鼠标左键双击,将此文件导入注册表,这个时候,用 Windows 资源管理器找到保存有需要运行 Python 源代码所在的子目录,用鼠标指针指向此子目录,鼠标右键在弹出式菜单上选择 "DOS Prompt Here",于是,你就可以获得一个 Python 源代码所在路径的 CMD 窗口,这时,通过下面的命令行运行 Python 脚本:
Python x.py
      当然,这里假定 Python 脚本文件名是 "x.py"。
      这样运行脚本的好处是,当脚本存在 BUG 时,可以直接看到 Python 给出的错误信息。
      
页: [1] 2
查看完整版本: 能否直接双击运行python程序