Articles of python

在android上安装python包

我想在android上安装一个来自source的python包。 这可能吗? 我在控制台中尝试运行py安装文件,但是没有finddistutils(.core,ccompiler)。 是否可以安装它们?

使用sl4a将事件从python发送到javascript

我想知道一个简单问题的答案,但我找不到一个好的(我已经谷歌了几个小时:)) 我正在玩带有python的sl4a,我可以将事件从js发送到python脚本,但是js没有捕获我在下面的代码中从python到js的eventPost。 任何人都知道这是如何完成的,或者如果没有registerCallback还有另一种方式? HTML代码: var droid = new Android(); function doit(){ droid.makeToast(“Text send :=>”+document.getElementById(“msg”).value); droid.eventPost(“doit”,document.getElementById(“msg”).value); } function alert_me(data){ droid.makeToast(“All done!”); document.getElementById(“msg”).value = ”; } droid.registerCallback(“done”,alert_me); PYTHON代码: import android,time if __name__ == ‘__main__’ : droid = android.Android() droid.webViewShow(“file:///sdcard/sl4a/scripts/sample.html”) while True: event = droid.eventWait().result if event[“name”] == ‘doit’: droid.makeToast(“Event catched! %s” % event[‘data’]) droid.eventPost(“done”,”Done message”) time.sleep(2) droid.exit()

java.net.SocketException:sendto failed:Android上的EPIPE(Broken pipe)

我试图从Android中的客户端读取服务器套接字中的数据。 以下是我正在使用的代码片段: 客户端 (在JAVA的Android上) DataOutputStream dataOutputStream = null; DataInputStream dataInputStream = null; try { if (client.socket == null || !client.socket.isConnected()) client.createSocket(); // Get Input/Output stream for socket dataOutputStream = new DataOutputStream(client.socket.getOutputStream()); dataInputStream = new DataInputStream(client.socket.getInputStream()); // Here RS is simple JAVA class that stores information about payload and response length Log.d(“Send”, “Sending payload for pair […]

Python服务器和Android应用程序之间的连接

这是我的第一个问题。 我已经find了类似问题的解决方案,但在每种情况下都与我的情况相比存在一些差异。 我试图使用套接字在Python服务器和Android应用程序之间建立一个简单的连接。 Android应用程序启动与服务器的对话:它向服务器发送消息,服务器接收并显示它,然后服务器向应用程序发送回复。 该应用程序在TextView中显示屏幕上的回复。 这是我在客户端的代码: public class MyClient extends Activity implements OnClickListener{ EditText enterMessage; Button sendbutton; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.myclient); enterMessage = (EditText)findViewById(R.id.enterMessage); sendbutton = (Button)findViewById(R.id.sendbutton); sendbutton.setOnClickListener(this); } @Override public void onClick(View arg0) { Thread t = new Thread(){ @Override public void run() { try { Socket s = new Socket(“192.168.183.1”, […]

HTTPPost multipart(上传文件)从Java到Python webapp2

我正在尝试将文件上传到GAE – 服务器端代码: class UploadHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): upload_files = self.get_uploads(‘file’) blob_info = upload_files[0] # When using flask, request.files[0] gives correct output. self.response.out.write(‘/serve/%s’ % blob_info.key()) 使用HTML,我可以让它工作: upload_url = blobstore.create_upload_url(‘/upload’) self.response.out.write(”) self.response.out.write(” % upload_url) self.response.out.write(“””Upload File: “””) 但我必须能够从Java执行多部分发布请求。 我有一个在openshift (flask, request.files[0] )托管的烧瓶项目,其中Java代码似乎工作: HttpParams params = new BasicHttpParams(); params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); DefaultHttpClient mHttpClient = new DefaultHttpClient(params); HttpPost httppost = […]

ImportError:dlopen失败:有错误的ELF魔法

问题: ImportError: dlopen failed: “/data/python/lib/python2.7/_io.so” has bad ELF magic 背景:我正在研究一些支持python解释器的内部android apk。 我必须使用该apk来运行一些测试用例,这些测试用例被推入/ sdcards / scripts / XXXX位置(python文件/包所在的位置)。 现在运行测试用例时,导入io模块,调用_io.so模块。 这个_io.so模块不在默认带有APK的python中。 所以我想可能是我会在我的mac上find_io.so文件并将adb推送到/data/python/lib/python2.7/lib-dynload位置,其中所有其他.so文件都位于此处。 我认为将_io.so文件推送到此位置将解决问题,但事实并非如此。 有人可以让我知道发生了什么,根本原因是什么,以便解决这个问题。 root@condor_umts:/data/python/lib/python2.7/lib-dynload # ls -l -rw——- root root 53660 2014-05-30 12:12 _bisect.so -rw——- root root 180956 2014-05-30 12:12 _codecs_cn.so -rw——- root root 191196 2014-05-30 12:12 _codecs_hk.so -rw——- root root 81064 2014-05-30 12:12 _codecs_iso2022.so -rw——- […]

向WiFi上的所有可用计算机广播消息

如果这是一个微不足道的问题,我道歉。 我最近开始做一些Android编程,我正在编写一个简单的应用程序,允许您使用Android设备作为Windows PC的控制器。 具体来说,它允许用户做一些事情,如关闭机器,让它睡眠,重新启动等等。我目前正在使用一个名为CherryPy的python库作为Windows机器上的服务器来执行实际的win32api调用以执行所需的操作function。 我不确定的是如何(动态地)发现网络上的哪台机器实际托管服务器。 如果我将我的机器公共IP硬编码到Android应用程序中,一切都工作正常,但显然这远远不够理想。 我已经考虑让用户在应用程序中手动输入他们的机器公共IP,但是如果有一种方法,比如,向WiFi上的所有机器广播快速消息并检查我的Python服务器将发送的预先响应的响应出来,那太好了。 那可能吗? 先谢谢你们。

如何最好地使用GPS数据?

我目前正在开发一个应用程序,接收使用和Android手机收集的GPS数据。 我需要在速度,加速度等方面分析这些数据…… 我的问题是:我能相信手机返回的速度值吗? 或者我应该使用两点之间的位置和时间差来获得我想要的值? 此外,是否有任何“标准”方法来过滤输入数据? 或者任何执行这种任务的库(python welcome)? 先谢谢你! 🙂

在Python上使用zlib.compress,在Java(Android)上兼容Deflater.deflate吗?

我正在将一个Python应用程序移植到Android,并且在某些时候,该应用程序必须与Web服务通信,并向其发送压缩数据。 为此,它使用下一个方法: def stuff(self, data): “Convert into UTF-8 and compress.” return zlib.compress(simplejson.dumps(data)) 我正在使用下一个方法尝试在Android中模拟此行为: private String compressString(String stringToCompress) { Log.i(TAG, “Compressing String ” + stringToCompress); byte[] input = stringToCompress.getBytes(); // Create the compressor with highest level of compression Deflater compressor = new Deflater(); //compressor.setLevel(Deflater.BEST_COMPRESSION); // Give the compressor the data to compress compressor.setInput(input); compressor.finish(); // Create […]

“adb screencap /sdcard/screenshot.raw”会产生什么格式? (没有“-p”标志)

我希望使用没有-p标志的adb screencap实用程序。 我想象输出将以原始格式转储,但看起来不像。 我尝试使用Pillow (python)库打开原始图像文件导致: $ adb pull /sdcard/screenshot.raw screenshot.raw $ python >>> from PIL import Image >>> Image.open(‘screenshot.raw’) Traceback (most recent call last): File “”, line 1, in File “/Users/……/lib/python2.7/site-packages/PIL/Image.py”, line 2025, in open raise IOError(“cannot identify image file”) IOError: cannot identify image file 找不到像这样阅读原始图像的正确方法,我甚至给了以下镜头: 如何使用PIL读取原始图像? >>> with open(‘screenshot.raw’, ‘rb’) as f: … d […]