簡體   English   中英

IDLE(Python 3.4) - 在啟動時執行腳本

[英]IDLE (Python 3.4) - Execute a script on launch

我花了大約一個星期左右在python3.4中創建一個簡單的觸摸友好GUI(在樹莓派上)。 現在我設置python在啟動時運行我的腳本,但我遇到了問題,我無法從我的程序中打開其他程序(例如Web瀏覽器或計算器)。 但是,如果我使用IDLE來執行腳本而不是終端中的標准python程序,那么從我的腳本中打開其他程序就可以了! 我已經創建了一個在Linux Gui啟動時運行的.sh文件,它在IDLE中打開我的腳本,但它只打開文件而不執行它。

所以現在我的問題是:我可以創建一個.sh腳本,打開IDLE並在IDLE控制台中運行python腳本(我在啟動空閑時嘗試了exec命令但沒有結果)

現在這是我的命令,它應該執行加載的文件,但只加載它為一些reaseon:

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'"

![在此處輸入圖像說明

您嘗試的命令不起作用,因為在這里 ,我們可以閱讀:

只有進程0可以調用idle()。 任何用戶進程,甚至是具有超級用戶權限的進程,都將收到EPERM。

因此,我們依賴於idle cli選項,幸運的是提供了一個選項:)


另外

另一種選擇是使用idle3打開文件,等待窗口出現並模擬F5

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

這需要在您的系統上安裝xdotool

此包裝器的高級版本將以idle打開文件,隨后檢查新窗口是否存在,是否已聚焦並使用xdotool模擬F5

然而,這些將是臟選項,我們幸運地不需要:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM