Articles of python

为什么当我使用fabric reboot()时,远程主机返回错误代码-1?

本地主机环境:CentOS 7,Python 3.5.1,Fabric3(1.11.1.post1) 远程主机环境:CentOS 7 fibfile: def fuc(): reboot() 庆典: fab -f fibfile.py -H host -u root -p password 远程主机确实重新启动,但返回一个fatalError: sudo() received nonzero return code -1 while executing 'reboot'! 现在我使用warn_only来防止失败: fabfile: def test(): with settings(warn_only=True): reboot()

如何读取python和ffmpeg或类似的实时麦克风音量

我试图近乎实时地读取来自Python中USB麦克风audio的音量。 我有件,但不知道如何把它放在一起。 如果我已经有一个.wav文件,我可以很简单地使用wavefile来读取它: from wavefile import WaveReader with WaveReader("/Users/rmartin/audio.wav") as r: for data in r.read_iter(size=512): left_channel = data[0] volume = np.linalg.norm(left_channel) print volume 这很好,但我想实时处理来自麦克风的audio,而不是从文件。 所以我的想法是使用像ffmpeg这样的实时输出到WaveReader,但我的字节知识有点缺乏。 import subprocess import numpy as np command = ["/usr/local/bin/ffmpeg", '-f', 'avfoundation', '-i', ':2', '-t', '5', '-ar', '11025', '-ac', '1', '-acodec','aac', '-'] pipe = subprocess.Popen(command, stdout=subprocess.PIPE, bufsize=10**8) stdout_data = pipe.stdout.read() audio_array […]

在做json.dump的时候如何显式设置回车?

我的python脚本生成json文件。 我必须支持这个在Windows和Linux上运行的python文件。 问题是在Windows和Linux上的回车。 当我在Windows上运行此代码时,它会输出CRLF json。 当我在linux上运行时,它输出LF json。 那么如何在python3.5中执行json dump时显式设置回车? 我咳嗽 import json fpath = "hoge.json" data = {"AGE": 12, "HOGE": [{"GUA": 3}]} with open(fpath, 'wt', encoding="utf-8") as outfile: json.dump(data, outfile, indent=4, sort_keys=True, ensure_ascii=False) http://docs.python.jp/3/library/json.html

尝试在Debian 4.3.2中安装Python 2.6.5时,无法创buildreadline

我正在运行Debian 4.3.2.1-1的Web服务器上安装Python 2.6.5。 我解开压缩包,运行“./configure –prefix / usr /”,然后运行“make”。 我看到这个消息。 Failed to find the necessary bits to build these modules: _bsddb _hashlib _ssl _tkinter bsddb185 bz2 dl imageop readline sunaudiodev To find the necessary bits, look in setup.py in detect_modules() for the module's name. 我认为这不是什么大问题,所以我继续进行其余的安装,我认为它只是以root身份运行“make install”。 我尝试运行新版本的Python,它的工作,但有些事情有趣。 交互式提示符下的常用键盘快捷键不起作用。 我尝试导入readline,解释器找不到它。 有什么办法可以使它工作吗? 我试着看着setup.py,像“make”告诉我的,但我找不到对我有用的任何线索。 我真的想让readline工作。 我真的不关心其他模块。 编辑:这是在DreamHost私人服务器上。 他们有一些老版本的Python与readline,他们似乎工作正常。 我正试图使它与这个新版本一起工作。 […]

Python unicode在OSX 2.6.1上运行,而在Ubuntu上运行在2.6.5上

鉴于从Python解释器运行以下代码: import sys sys.getdefaultencoding() my_string = '\xc3\xa9' my_string = unicode(my_string, 'utf-8') my_string print my_string 使用Python 2.6.1在Mac上运行,一切工作正常: $ python Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> my_string = '\xc3\xa9' >>> my_string = […]

Python Linux路由表查找

我张贴Pythonfind第一跳的networking首先想find第一跳,我想到的越多,越容易,它似乎是一个进程的Python路由表。 我不是程序员,我不知道我在做什么。 :p 这就是我想到的,我注意到的第一个问题是loopback接口没有显示在/ proc / net / route文件中 – 所以评估127.0.0.0/8会给你默认路由…对于我的应用程序,这并不重要。 还有什么重要的,我俯瞰? parsingip route get <ip>还是一个更好的主意? import re import struct import socket ''' Read all the routes into a list. Most specific first. # eth0 000219AC 04001EAC 0003 0 0 0 00FFFFFF … ''' def _RtTable(): _rt = [] rt_m = re.compile('^[a-z0-9]*\W([0-9A-F]{8})\W([0-9A-F]{8})[\W0-9]*([0-9A-F]{8})') rt = open('/proc/net/route', […]

通过Python脚本下载YouTubevideo

我正在尝试使用此脚本使用Python下载YouTubevideo。 目前我使用如下 youtube-dl "http://www.youtube.com/watch?v=dvsdgyuv" 在他们写的文件中,我可以使用这些 id: The sequence will be replaced by the video identifier. url: The sequence will be replaced by the video URL. uploader: The sequence will be replaced by the nickname of the person who uploaded the video. upload_date: The sequence will be replaced by the upload date in YYYYMMDD format. title: […]

Webapp技术问题和build议

我决定写一个长篇介绍,以便让你更好地了解我正在努力实现的目标。 这将是我第一个真正的商业目标应用程序。 免责声明:尽pipe我一直在阅读任何东西,但是在过去的三年中,关于web开发和过去一年的任何python相关的工作,我仍然是一个新手(接受替代的noob拼写)。 该应用程序围绕集合。 邮票,卡片,硬币等用户将能够注册,从预定义的对象列表添加到他们的集合,显示他们的集合,标记一些交易对象,跟踪交易等预定义的对象列表将有大约20k个物件,每个物件大约有30-50个物件。 免责声明2:我可以在php中写这篇文章,我认为是第一个学习到web开发的工具,但我现在非常喜欢python,所以我非常偏向它。 我应该和mySQL保持联系还是用noSQL watters蘸我的脚趾? 从我一直在阅读的内容来看,NoSQL对于我正在尝试开发的内容可能是过度的,但是…您怎么看? Django的? 还是烧瓶? 我倾向于烧瓶。 主要推理背后是,我认为它更好,然后django后,摆脱了几天。 我可能会把它放在Rackspace上,因为它是最便宜的解决scheme,并且可以扩展,但是我真的很想听到来自VPS或Voxel主机的意见。 CloudHarmony速度testing表明,他们两个都比机架空间更好,但是我对这项服务还不太了解,或者testing如何。 * nix发行版? 任何select之间的差异? 任何我应该作为事实上的标准? networking服务器? 中间件wsgi? wohooo在我的脑海里的方式,所以如果也许有人可以指示我如何设置生产服务器的教程方向将是真棒(阅读这篇文章 ,它开始变得更有意义,但仍然不明白所有这一切。我需要nginx为例) 我所问的一些问题看起来可能真的很愚蠢,但是如果你也许记住,每个人都有一次在我的位置…… 🙂 提前感谢您的所有意见(答案或意见) 勘误表: 3之二。 GAE? 亚马逊? Rackspace公司? 其他云VM提供商? 我应该记住,我有一个愚蠢的愿望,需要扩大规模。 之后切换也很容易? 例如从GAE(bigtable)到另一个云虚拟机提供者(mySQL)(我知道web2py DAL可以同时使用,切换东西有多容易?) 5我的意思是扭曲,龙卷风,FAPWS等哪一个更好?

追加到并发环境中的文件末尾

如果以下(示例)程序的多个同时运行,需要采取哪些步骤来确保“完整​​”行始终正确附加到文件末尾。 #!/usr/bin/env python import random passwd_text=open("passwd.txt","a+") u=("jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8917,(234)555-0077,jsmith@rosettacode.org:/home/jsmith:/bin/sh", "jdoe:x:1002:1000:Jane Doe,Room 1004,(234)555-8914,(234)555-0044,jdoe@rosettacode.org:/home/jdoe:/bin/sh", "xyz:x:1003:1000:X Yz,Room 1003,(234)555-8913,(234)555-0033,xyz@rosettacode.org:/home/xyz:/bin/sh") for i in range(random.randint(1,2)): print >> passwd_text, random.choice(u) passwd_text.close() 并且:即使磁盘已满,或“ulimit -f”已被设置,是否可以保证“全部或全部”追加(在linux / unix上)? (注意类似的问题: 你如何追加到一个文件? )

为什么* .pyc文件在关联的* .py文件被删除时被删除

最后看更新。 我正在使用Ubuntu Linux 11.10,Python 3。 我写了一个Python脚本,使用pyuic4将一些Qt * .ui文件转换为* .py。 然后我想编译得到的* .py文件到* .pyc并删除* .py文件。 由于某些原因,当我删除转换的* .py文件时,* .pyc版本也被删除: try: command = 'pyuic4 -o /home/vic/ui_form.py /home/vic/form.ui' output = subprocess.check_output(command, shell= True, stderr= subprocess.STDOUT) except subprocess.CalledProcessError as e: print('Failed:', e.output) else: print('Converted %s to %s' % (source, targetName)) # convert *.py to *.pyc and delete the source source = […]