gpt4 book ai didi

python - IDLE (Python 3.4) - 在启动时执行脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:17 25 4
gpt4 key购买 nike

上周我一直在用 python3.4(在树莓派上)创建一个简单的触摸友好 GUI。现在我设置 python 以在启动时运行我的脚本,但我遇到了问题,我无法从我的程序(例如网络浏览器或计算器)中打开其他程序。但是,如果我使用 IDLE 来执行脚本而不是终端中的标准 python 程序,则可以从我的脚本中打开其他程序!我已经创建了一个在 Linux Gui 启动时运行的 .sh 文件,它在 IDLE 中打开了我的脚本,但是它只打开了文件而不执行它。

所以现在这是我的问题:我可以创建一个 .sh 脚本,它打开 IDLE 并在 IDLE 控制台中运行 python 脚本(我已经在启动空闲时尝试了 exec 命令但没有结果)

现在这是我的命令,它应该执行加载的文件,但只是出于某些原因加载它:

sudo idle3 -c exec(open('/path/to/my/file.py').read())

感谢任何帮助:)

最佳答案

使用 Idle 的 cli 选项

您有几种选择,其中最好的一种是使用 -r选项。来自 man idle :

   -r file
Run script from file.

但这只会打开解释器 窗口。由于您还需要编辑器,因此这将完全按照您的描述进行操作:

idle3 '/path.to/file.py'  & idle3 -r '/path.to/file.py'

然后你需要的启动命令是:

/bin/bash -c "idle3 '/path/to/file.py'  & idle3 -r '/path/to/file.py'"

![enter image description here

您尝试的命令将不起作用,因为 here ,我们可以读到:

Only process 0 may call idle(). Any user process, even a process with superuser permission, will receive EPERM.

因此,我们依赖 idle 的 cli 选项,幸运的是它提供了一个选项 :)


或者

另一种选择是用idle3 打开文件。等待窗口出现并模拟F5:

/bin/bash -c "idle3 '/path/to/file.py'  & sleep 3 && xdotool key F5"

这需要 xdotool将安装在您的系统上。

此包装器的高级版本将使用 idle 打开文件,随后检查新窗口是否存在,聚焦并用 xdotool 模拟 F5 .

然而,这些将是肮脏的选项,幸运的是我们不需要:)。

关于python - IDLE (Python 3.4) - 在启动时执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39686711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com