質問

電話の位置に基づいて電話のプロファイルを変更するはずのPythonスクリプトを作成しました。スクリプトシェルの下で実行されたのは、うまく機能します。

問題は、「sis」スクリプトが「ブートアップ」で実行されただけでなく、それなしでも垂れ下がっていることです。

それで、私の質問は、コードの何が問題なのか、そして特別なパラメーターをenschimbleに渡す必要があるかどうかもあります。

import appuifw, e32, sensor, xprofile
from appuifw import *

old_profil = xprofile.get_ap()

def get_sensor_data(status):
    #decide profile

def exit_key_handler():
    # Disconnect from the sensor and exit
    acc_sensor.disconnect()
    app_lock.signal()

app_lock = e32.Ao_lock()

appuifw.app.exit_key_handler = exit_key_handler
appuifw.app.title = u"Acc Silent"
appuifw.app.menu = [(u'Close', app_lock.signal)]
appuifw.app.body = Canvas()
# Retrieve the acceleration sensor
sensor_type= sensor.sensors()['AccSensor']
# Create an acceleration sensor object
acc_sensor= sensor.Sensor(sensor_type['id'],sensor_type['category'])
# Connect to the sensor
acc_sensor.connect(get_sensor_data)

# Wait for sensor data and the exit event
app_lock.wait()

スクリプトは、Ensymbleと開発者証明書を使用して、Bootから始まります。

前もって感謝します

役に立ちましたか?

解決

私はしばしば私のスクリプトの一番上でそのようなものを使用します:

import os.path, sys
PY_PATH = None
for p in ['c:\\Data\\Python', 'e:\\Data\\Python','c:\\Python','e:\\Python']:
    if os.path.exists(p): 
        PY_PATH = p
        break
if PY_PATH and PY_PATH not in sys.path: sys.path.append(PY_PATH)

他のヒント

Xprofileは標準的なライブラリではありません。パスを追加してください。私の推測では、sisとして実行すると、xprofileが見つかりませんでした。 SISをリリースするときは、ユーザーに個別にインストールするか、SIS内に含めるように指示します。

どこにインストールしますか、そのパスを使用してください。サンプルとしてのPythonデフォルトディレクトリは次のとおりです。


    # PyS60 1.9.x and above
    sys.path.append('c:\\Data\\Python')
    sys.path.append('e:\\Data\\Python')
    # Pys60 1.4.x or below
    sys.path.append('c:\\Python')
    sys.path.append('e:\\Python')

ところで、きれいな出口を作ります、これを行います:


    appuifw.app.menu = [(u'Close', exit_key_handler)]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top