Articles of python

如何读取当前在subprocess.stdoutpipe道中的所有内容,然后返回?

我使用python的subprocess模块通过stdin和stdoutpipe道与程序进行交互。 如果我在stdout上调用subprocessreadline(),它会挂起,因为它正在等待换行符。 如何读取子stream程实例的标准输出pipe道中的所有字符? 如果有问题,我正在Linux上运行。

如何控制具有多个IP的机器上的ZeroMQ数据包的源IP地址?

Python标准库的socket .create_connection()方法具有源地址选项,用于控制连接使用的源IP。 给定一个具有多个地址的机器,如何用Python ZeroMQ套接字完成同样的工作? 在这种情况下,我一直在使用Linux的iproute2 ip addr add来创build地址和ZeroMQ PUB/SUB socket-archetypes。

在Linux上使用Python更改IP设置

我需要提供一个Python程序,允许用户dynamic改变他的设备(IP,掩码,DNS和网关)的networking参数。 例如,将他的IP从192.168.1.10/24更改为192.168.1.15/24。 我不想以root身份运行我的程序 – 但我可以给我的用户一些特定的权利(例如将用户添加到可以修改/usr/network/interfaces文件的组)。 我发现的是pynetlinux库,但它只提供IP和掩码修改,需要以root身份运行(或者我可能会误用它)。 我可以通过parsinginterfaces文件并运行一些bash / shell命令来做到这一点,但我不想重新发明轮子。 我很确定有些人已经有我的问题,做了一些伟大的事情。 我在Ubuntu 12.04上运行。 我需要我的程序在Ubuntu 14.04,CentOS和RedHat上工作

UTF-8和os.listdir()

对于包含“ş”字符的文件(UTF-8中的\xC8\x99 – 下面的拉丁小写字母S),我遇到了一些麻烦。 我正在创build一个ș.txt文件,并试图用os.listdir() 。 不幸的是, os.listdir()将其返回为s\xCC\xA6 (“s”+ COMBINING COMMA BELOW),而我的testing程序(如下)失败。 这发生在我的OS X上,但它在Linux机器上工作。 任何想法究竟是什么导致了这种行为(两个环境configurationLANG = en_US.UTF8)? 这里是testing程序: #coding: utf-8 import os fname = "ș.txt" with open(fname, "w") as f: f.write("hi") files = os.listdir(".") print "fname: ", fname print "files: ", files if fname in files: print "found" else: print "not found"

自动将客户端添加到nagios服务器

我有一个拥有超过50台服务器的Linux环境,由Nagios进行监控。 现在我们使用基于python web的GUI创build新的服务器,我们需要手动将它们添加到nagios服务器。 现在我们想自动添加新的服务器给Nagios。 有没有办法自动添加新的服务器到Nagios? 提前致谢

Python virtualenv – > venv / bin / python中的新的python可执行文件

我目前正在试图安装Sevabot这个教程: https ://sevabot-skype-bot.readthedocs.org/en/latest/ubuntu.html一切都很好,直到我需要安装Sevabot。 我可以下载virtualenv.py文件,但是当我想执行python virtualenv.py时,它会返回一个错误。 ~/sevabot$ python virtualenv.py venv New python executable in venv/bin/python Cannot find sdist setuptools-*.tar.gz Cannot find sdist pip-*.tar.gz 奇怪的是,我做了5次没有任何问题。 总是Ubuntu 12.04 x86_64。 已经做了几次干净的安装。 ~/sevabot$ uname -a Linux sbvps01 2.6.32-5-openvz-amd64 #1 SMP Fri May 10 09:43:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Virtualenv是最新的: easy_install virtualenv Searching for virtualenv Best match: virtualenv 1.7.1.2 […]

Tesseract使用字母子集

我在Ubuntu Linux上使用tesseract–ocr包,我已经使用了一段时间,我认为,为了提高OCR的准确性,我只需要从字母表中的一个字母的子集。 我需要的信件是: 0123456789abcdefghijklmnopqrstuvwxyz 只有这些,甚至连大写字母,都没有人给我一个指示tesseract只能匹配一个字母子集的手吗? 谢谢,

在python中执行命令时,回答yes / no python linux中的os.system()

考虑一个类似的命令 yum install boto 当我在terminal执行,进行是要求我是/否 我可以用python来回应吗? os.system("yum install boto") 下一步"Yes"将通过相同的Python代码传递给terminal,以便安装。 那么,我不认为这个工程。 如果是在上面声明之后写的 os.system("yes") 请告诉我这是可能的吗?

用Accent – Python阅读文本

我在python中做了一些脚本,连接到GMAIL并打印电子邮件文本…但是,我的电子邮件经常带有“重音”的单词。 还有我的问题… 例如,我得到一个文本:“PLANO DE S = C3 = 9ADE”应打印为“PLANO DESAÚDE”。 我怎样才能把我的电子邮件文本变成清晰的? 我可以用什么来转换这些带有口音的字母? 谢谢, Andreybuild议的代码,在windows上工作正常,但是在Linux上,我仍然得到错误的打印: >>> b = 'PLANO DE S=C3=9ADE' >>> s = b.decode('quopri').decode('utf-8') >>> print s PLANO DE SÃDE 拉斐尔, 谢谢,你对这个词是正确的,这是拼错的。 但问题在这里还是一样的。 又如:正确的字:obersevação >>> b = 'Observa=C3=A7=C3=B5es' >>> s = b.decode('quopri').decode('utf-8') >>> print s Observações 我正在用UTF-8语言环境使用Debian: >>> :~$ locale LANG=en_US.UTF-8 安德烈, 谢谢你的时间。 我同意你的解释,但在这里仍然有同样的问题。 看看我的testing: […]

如何在MJPG opencv捕捉摄像头的video

我已经买了两台Genius facecam 1000x摄像机,并试图build立一个立体摄像机,摄像机的v4l2-ctl输出如下: ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG 正如你所看到的像素格式MJPG是支持的,从这个这个像素格式是必要的,但是当我尝试从两个摄像头捕获video的VIDIOC_STREAMON: No space left on device错误仍然发生的第二个相机,我只能以320×240分辨率获得立体声video! 我尝试了以下两个,但不适合我。 v4l2-ctl –set-fmt-video=width=640,height=480,pixelformat=1 将FOURCC设置为MJPG会导致HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device错误HIGHGUI ERROR: V4L: […]