Articles of python

卸载从源生成的PIL

我使用这个教程来安装PIL。 现在,我想卸载它,并安装pillow的地方。 mkdir -p ~/src ~/lib/python2.7 cd ~/src wget http://effbot.org/media/downloads/PIL-1.1.7.tar.gz tar zxf PIL-1.1.7.tar.gz cd PIL-1.1.7 python2.7 setup.py build_ext -i python2.7 setup.py install 我如何卸载PIL? PS:我没有安装任何我的virtualenvs PIL。 这是一个全球性的安装。 但是,我正在使用virtualenvs来处理所有的项目。

stream式audio和video

我一直在尝试一段时间,但挣扎。 我有两个项目: 将audiostream式传输到服务器以通过networking分发 将audio和video从networking摄像头传输到服务器,以通过networking分发。 到目前为止,我已经尝试了ffmpeg和ffserver,PulseAudio,mjpegstreamer(我得到了这个工作,但没有audio)和IceCast都没有运气。 虽然我确定这可能是我的错,但我想知道是否还有其他的select? 我花了一段时间尝试Linux的select,也想知道是否有与Python最近玩OpenCV的选项。 如果任何人都可以提出更多的select来研究Python或Linux的基础上,将不胜感激或指向我一些很好的教程或解释我已经使用它将不胜感激。

我怎样才能创buildMySQL数据库的增量备份

我有mysql5.6 Linux mysql5.6 centos 6.4服务器 我有这样的每小时一次的mysql数据库备份的cron工作 它在python中 os.popen("mysqldump -u %s –password=%s -h %s -e –opt –skip-lock-tables –skip-extended-insert -c %s | gzip -c > %s.gz" % (username, password, hostname, database, filename)) 问题是数据变得很less,但每次我必须备份所有数据库24次,这占用了太多的空间。 什么是最好的select 有什么办法进行增量备份,这样我就可以对数据库进行1次完整备份,每周只进行一次增量备份。 我想单独的数据库不是所有的单独的文件MySQL,所以如果我需要恢复单个数据库,那么我也可以做到这一点

如何使用Cython将Python 3编译为C

我试图将Python 3脚本转换为C,然后将该C文件编译为可执行文件。 我有这个简单的Python脚本: def greet(name = ""): print("Hello {0}".format(name if len(name) > 0 else "World")) greet("Mango") 我已经将此脚本转换为C使用: cython greet.py -o greet.c 然后我编译的C文件使用: cc greet.c -o greet 我进入最后一个命令后,我得到了错误: 致命错误:Python.h:没有这样的文件或目录编译终止。 在得到错误之后,我回头意识到我正在使用Python3,并且在“cython”之后忘记了“3”。 所以重新编译python脚本使用: cython3 greet.py -o greet.c 然后尝试使用以下命令重新编译C文件: cc greet.c -o greet 再次失败,并抛出同样的错误,所以我去SO和谷歌search,发现这些问题: 致命错误:Python.h:没有这样的文件或目录 我在我的Ubuntu系统上有Python,但gcc找不到Python.h https://askubuntu.com/questions/526708/fatal-error-python-h-no-file-or-directory 这些问题的答案都不起作用。 我确定我已经使用apt-get install和pip install安装了cython所有正确的依赖关系,可悲的是我认为它仍然不起作用。

如何在单独的进程中运行一个shell并获得自动完成? (python)

我有一个Linux应用程序,从一些设备获取inputstream。 这个input应该被引导到一个shell进程,以便它模拟给用户一个标准的shell。 到目前为止,我已经通过创build运行'/ bin / sh'的进程来完成它,并且我redirect了其input,输出和stderr,如下所示: import subprocess p = subprocess.Popen(shell=False, args=['/bin/sh'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) _make_nonblocking(p.stdout) # sets O_NONBLOCK _make_nonblocking(p.stderr) 当我只是一个通行命令,一切正常。 p.stdin.write('pwd\n') p.stdout.read() '/home/dave\n' 对于自动完成,我试图写: p.stdin.write('ls s\t') p.stdout.read() IOError: [Errno 11] Resource temporarily unavailable 我希望得到一个可能的完成列表,但没有任何反应,直到我把“\ N”在标准input。 (另外,stderr没有什么等待)。 我已经查看了telnetd代码,并看到使用pty。 我尝试使用pty.openpty()并将slave设置为stdin,但是这也不起作用。 应该怎么办? 更新:我用build议的-i参数。 现在我有一个问题,一旦我使用Popen,然后按ENTER键,python shell移动到后台,如下所示: >>> p = subprocess.Popen(shell=False, args=['/bin/sh', '-i'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) >>> <ENTER> [1]+ […]

(Docker)中缺lessGOMP_parallel或GOMP_4.0 jupyter / all-spark-notebook:R和Python

我有一个关于GOMP的问题,我认为与gcc有关。 我使用这个图像作为一些实验的基础。 看来我正在使用基于这个未经修改的图像的一个好的版本(4.9.2),但是我得到了一些Cython相关软件包的一些奇怪的行为。 例1 在未修改的jupyter / all-spark-notebook docker镜像上运行时,试图运行Python时出现以下问题, import lightfm Traceback (most recent call last): File "", line 1, in File "/opt/conda/lib/python3.4/site-packages/lightfm/init.py", line 1, in from .lightfm import LightFM File "/opt/conda/lib/python3.4/site-packages/lightfm/lightfm.py", line 7, in from .lightfm_fast import (CSRMatrix, FastLightFM, ImportError: /opt/conda/lib/python3.4/site-packages/lightfm/lightfm_fast.cpython-34m.so: undefined symbol: GOMP_parallel 我已经尝试过的事情: 转到文件lightfm.py并将所有依赖关系移动到一行上,如下所示: from .lightfm_fast import (CSRMatrix, FastLightFM, fit_logistic, predict_lightfm, fit_warp, fit_bpr, […]

在bash中从python函数收集返回值

我正在实现一个将调用python脚本的函数/方法的bash脚本。 我想收集这个函数的返回值到调用bash脚本中的局部variables。 try1.sh包含: #!/bin/sh RETURN_VALUE=`python -c 'import try3; try3.printTry()'` echo $RETURN_VALUE 现在python脚本: #!/usr/bin/python def printTry(): print 'Hello World' return 'true' 关于删除bash脚本: $./tr1.sh Hello World 没有“真”或在那个地方任何其他types的回声标准输出所需。 另外一件事,我希望能够做的是,我的avtual python代码将有大约20-30个函数返回我的软件状态机的各种状态值,我会从bash脚本中调用这些函数。 在bash脚本中,我必须将这些返回值存储在本地variables中,这些variables将在调用bash脚本中实现的状态机逻辑中进一步使用。 对于每个值,我会做python -c'import python_module; python_module.method_name',这将重新枚举一次又一次,我不想要的状态机的定义状态。 我想避免使整个python脚本只用于调用一个函数。 那可能吗? 在这里可以想到什么可能的解决scheme/build议/想法? 我将不胜感激。 为了阐明我的意图,任务是让python脚本replace一部分bash脚本以提高可读性。 bash脚本实际上非常大(约15000行),因此不能完全由一个单独的python脚本replace。 所以可以被改进的部分可以被python替代。 另外,我曾想过在下面的评论中用Victor的build议来replace整个bash脚本,但是在我的情况下这是不可行的。 因此,我将不得不将状态机分成bash和python,其中python将有一些必需的方法返回bash脚本所需的状态值。 问候,优素福Husainy。

我怎样才能使用NETLINK套接字从PYTHON的内核空间的数据?

我怎样才能使用NETLINK套接字从PYTHON的内核空间的数据?

如何使python脚本在Shell上提示时按“enter”键

我想自动升级程序。 我用Python运行这个代码: import subprocess subprocess.call('./upgrade') 当我这样做的时候,我从shell获得了升级过程成功启动的输出,然后我得到了“按Enter键继续”。 我将如何自动化这个过程,以便Python脚本自动“按下”时inputproms? 我需要在这个过程中做两次。 我需要在Linux上完成这个工作,而不是在Windows上完成,因为这是在这里问的: 生成键盘事件另外,这需要在Shell提示input后专门完成。 谢谢你的帮助。 我没有find解决办法: 按Enter作为命令input

将IP转换为主机名

我想编写一个python脚本来将IP地址转换为主机名。 我正在使用Linux机器。 我没有在whois命令中看到这些信息。 是否有任何命令总是提供正确的主机名(尽可能准确)?