[英]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())
任何幫助表示贊賞:)
您有幾個選項,其中最好的選項是使用-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.