IDLE (Python 3.4) - 在启动时执行脚本
IDLE (Python 3.4) - Execute a script on launch
上周我一直在 python3.4(在 raspberry pi 上)创建一个简单的触摸友好 GUI。现在我在启动脚本时将 python 设置为 运行,但我 运行 遇到了问题,我无法从我的程序中打开其他程序(例如网络浏览器或计算器).但是,如果我使用 IDLE 来执行脚本而不是终端中的标准 python 程序,则可以从我的脚本中打开其他程序!我已经创建了一个 .sh 文件,当 Linux Gui 启动时,它会 运行s,它会在 IDLE 中打开我的脚本,但是它只打开文件而不执行它。
所以现在我的问题是:我可以创建一个 .sh 脚本,它会在 IDLE 控制台中打开 IDLE 和 运行s 一个 python 脚本(我已经在启动空闲时尝试了 exec 命令没有结果)
现在这是我的命令,它应该执行加载的文件,但只是出于某些原因加载它:
sudo idle3 -c exec(open('/path/to/my/file.py').read())
感谢任何帮助:)
使用 Idle 的 cli 选项
您有几种选择,其中最好的一种是使用 -r
选项。来自 man idle
:
-r file
Run script from file.
然而,这只会打开 解释器 window。由于您还需要编辑器,因此这将完全符合您的描述:
idle3 '/path.to/file.py' & idle3 -r '/path.to/file.py'
那么你需要的startup命令是:
/bin/bash -c "idle3 '/path/to/file.py' & idle3 -r '/path/to/file.py'"
您尝试的命令将不起作用,因为here,我们可以读取:
Only process 0 may call idle(). Any user process, even a process with superuser permission, will receive EPERM.
因此,我们依赖 idle
的 cli 选项,幸运的是它提供了一个选项:)
或者
另一种选择是用 idle3
打开文件等待 window 出现并模拟 F5:
/bin/bash -c "idle3 '/path/to/file.py' & sleep 3 && xdotool key F5"
这需要 xdotool 安装在您的系统上。
此包装器的高级版本将使用 idle
打开文件,随后检查新的 window 是否存在,聚焦并模拟 F5 xdotool
.
然而,这些将是肮脏的选择,幸运的是我们不需要:)。
上周我一直在 python3.4(在 raspberry pi 上)创建一个简单的触摸友好 GUI。现在我在启动脚本时将 python 设置为 运行,但我 运行 遇到了问题,我无法从我的程序中打开其他程序(例如网络浏览器或计算器).但是,如果我使用 IDLE 来执行脚本而不是终端中的标准 python 程序,则可以从我的脚本中打开其他程序!我已经创建了一个 .sh 文件,当 Linux Gui 启动时,它会 运行s,它会在 IDLE 中打开我的脚本,但是它只打开文件而不执行它。
所以现在我的问题是:我可以创建一个 .sh 脚本,它会在 IDLE 控制台中打开 IDLE 和 运行s 一个 python 脚本(我已经在启动空闲时尝试了 exec 命令没有结果)
现在这是我的命令,它应该执行加载的文件,但只是出于某些原因加载它:
sudo idle3 -c exec(open('/path/to/my/file.py').read())
感谢任何帮助:)
使用 Idle 的 cli 选项
您有几种选择,其中最好的一种是使用 -r
选项。来自 man idle
:
-r file
Run script from file.
然而,这只会打开 解释器 window。由于您还需要编辑器,因此这将完全符合您的描述:
idle3 '/path.to/file.py' & idle3 -r '/path.to/file.py'
那么你需要的startup命令是:
/bin/bash -c "idle3 '/path/to/file.py' & idle3 -r '/path/to/file.py'"
您尝试的命令将不起作用,因为here,我们可以读取:
Only process 0 may call idle(). Any user process, even a process with superuser permission, will receive EPERM.
因此,我们依赖 idle
的 cli 选项,幸运的是它提供了一个选项:)
或者
另一种选择是用 idle3
打开文件等待 window 出现并模拟 F5:
/bin/bash -c "idle3 '/path/to/file.py' & sleep 3 && xdotool key F5"
这需要 xdotool 安装在您的系统上。
此包装器的高级版本将使用 idle
打开文件,随后检查新的 window 是否存在,聚焦并模拟 F5 xdotool
.
然而,这些将是肮脏的选择,幸运的是我们不需要:)。