سؤال

لقد قمت بإجراء برنامج نصي بيثون الذي يجب أن يعدل ملف التعريف الخاص بالهاتف بناء على موضع الهاتف. المحرز تحت Scriptshell يعمل بشكل رائع.

المشكلة هي أنها معلقة، سواء مع البرنامج النصي "SIS" المحرز عند "التمهيد"، وكذلك بدونها.

لذلك سؤالي هو الخطأ في الرمز، وكذلك ما إذا كنت بحاجة إلى تمرير المعلمات الخاصة إلى عمليات الاسترداد؟

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()

يبدأ البرنامج النصي في التمهيد، باستخدام EnlyMble وشهادة المطور الخاصة بي.

شكرا مقدما

هل كانت مفيدة؟

المحلول

غالبا ما أستخدم شيئا من هذا القبيل في الجزء العلوي من البرامج النصية الخاصة بي:

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