Articles of python

Python多处理使用共享variables的Pool.apply_async(值)

对于我的大学项目,我试图开发一个基于python的stream量生成器。我在vmware上创build了2个CentOS机器,我使用1作为我的客户机,1作为我的服务器机器。 我使用IP别名技术来增加客户端和服务器的数量,只使用一台客户机/服务器机器。 现在,我已经在客户机上创build了50个IP别名,在我的服务器上创build了10个IP别名。 我也使用多处理模块来从所有50个客户端并发地向所有10个服务器产生通信量。 我也在我的服务器上开发了几个configuration文件(1kb,10kb,50kb,100kb,500kb,1mb)(我在使用Apache服务器时在/ var / www / html目录中),并使用urllib2向这些configuration文件发送请求我的客户机。 我使用httplib + urllib2首先绑定到任何一个源别名ip,然后使用urllib2从这个ip发送请求。 这里要增加我的TCP连接数 ,我正在尝试使用multiprocessing.Pool.apply_async模块。 但是我在运行脚本的时候遇到了这个错误“RuntimeError:同步对象只能通过inheritance在进程之间共享”。 经过一些debugging,我发现这个错误是由于使用multiprocessing.Value引起的。 但我想分享我的进程之间的一些variables,我也想增加我的TCP连接数。 在这里可以使用其他模块(multiprocessing.Value除外)来共享一些常用variables吗? 或者有没有其他的解决scheme,这个查询? ''' Traffic Generator Script: Here I have used IP Aliasing to create multiple clients on single vm machine. Same I have done on server side to create multiple servers. I have around 50 clients and […]

python获取上传/下载速度

我想监视我的电脑上传和下载速度。 一个名叫conky的程序已经在conky conf中做了以下的工作: Connection quality: $alignr ${wireless_link_qual_perc wlan0}% ${downspeedgraph wlan0} DLS:${downspeed wlan0} kb/s $alignr total: ${totaldown wlan0} 当我浏览时,它几乎可以实时显示我的速度。 我想能够使用python访问相同的信息。

使用Python gtk3在X上进行全局键绑定

我正在寻找一些Python xlib全局键绑定的例子,它可以和gtk3一起工作,就像在http://www.siafoo.net/snippet/239上为gtk2所做的那样。 这里非常类似的代码: from Xlib.display import Display from Xlib import X import gtk.gdk import threading import gobject class GlobalKeyBinding (gobject.GObject, threading.Thread): __gsignals__ = { 'activate': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()), } def __init__ (self): gobject.GObject.__init__ (self) threading.Thread.__init__ (self) self.setDaemon (True) self.keymap = gtk.gdk.keymap_get_default () self.display = Display () self.screen = self.display.screen () self.root = self.screen.root self.map_modifiers () […]

进程监控 – Python / Ubuntu / Linux

我有几个需要以deamon模式运行的进程,我刚刚发现了新手,所以我开始使用它。 是否有任何Python库或应用程序,我可以用来监视和控制这些进程从HTML界面? 我在问,因为我想阻止自己重新发明轮子。 🙂 有任何想法吗?

限制访问我的网站上的图像,除非通过我自己的htmls

在我的网站上,我以一种简单的方式存储用户图片,如:“image / user_1.jpg”。 我不希望访问者只能通过尝试user_ids来查看服务器上的图像。 (例如:www.mydomain.com/images/user_2.jpg,www.mydomain.com/images/user_3.jpg,等等…) 到目前为止,我有三个解决scheme: 我试图使用.htaccess密码保护“图像”文件夹。 这帮了我一些意见,但一些图像开始popup一个用户名和密码请求我的htmls(而令人惊讶的是一些图像没有),所以这似乎是一个不可预知的方法。 我可以开始转换我的user_id的一些盐的md5哈希。 图像将被命名为:/image/user_e4d909c290d0fb1ca068ffaddf22cbd0.jpg。 我不喜欢这个解决scheme。 这使得文件系统的方式变得复杂。 或者我可以使用PHP的readfile()函数或Perl或Python中类似的东西。 例如,我可以使用md5string传递密码来validation访问者是否具有访问该图像的login用户。 我倾向于选项3,但与Perl或Python的angular度(假设他们会比PHP更快)。 不过,我想看看关于这个问题的其他想法。 也许有一个简单的.htaccess技巧呢? 基本上所有我想确定的是,没有人可以从我的网站查看图像,除非图像是从我的网站托pipe的htmls内直接调用。 非常感谢, Haluk

无法使用termios.TIOCSTI伪造terminalinput

我见过的大部分代码示例都试图从stdin中读取本地回显。 要做到这一点,他们修改“本地模式”标志,以删除设置为“回声input字符” 。 我以为我可以修改TIOCSTI的“input模式”标志,即“将input队列中的给定字节插入”。 。 但是,即使我以root身份运行脚本,它也没有效果。 我写给fd的任何东西似乎都转到terminal输出,而不是terminalinput。 基本上我想要做的是这个确切的事情 ,但在纯Python。 """ termfake.py Usage: sudo python termfake.py /dev/ttys002 Get the tty device path of a different local termimal by running `tty` in that terminal. """ import sys import termios fd = open(sys.argv[1], 'w') fdno = fd.fileno() # Returns [iflag, oflag, cflag, lflag, ispeed, ospeed, cc] tatters = […]

作为Linux系统服务从virtualenv启动一个wsgi应用程序

我目前正在virtualenv内开发一个瓶子应用程序。 我打算使用bjoern WSGI服务器来服务它(但这可能并不重要)。 我也打算用lighty或nginx反向代理服务于应用程序。 无论如何,应用程序可以作为一个系统服务从自己的virtualenv运行? 如果是这样,一个人怎么办呢?

每次计算机从hibernate状态唤醒时运行一个python脚本

我在python上写了一个小脚本,它从控制台调用一个命令行来hibernate一台linux机器(或者closures它,以防一个单词改变),然后在一段时间后唤醒。 通过watch命令再次调用该命令。 import os import time os.system("watch -n 20 sudo rtcwake -u -s 10 -m mem") 所以rtcwake命令在电脑重新启动20秒后再次被调用。 每当电脑被唤醒时,我想要运行另一个脚本。 我已经有了这个其他的脚本,这是一个倒计时。 我想这样做是为了向用户显示剩下多less时间,直到计算机再次closures,但是第二个python脚本也应该在计算机每次唤醒后被调用 任何想法在这? 谢谢

安装Python时出错

一旦击中 make install 我得到以下错误 /usr/bin/install: cannot create regular file /usr/local/bin/python2.6: Permission denied make: *** [altbininstall] Error 1 我不是root用户,所以我认为它的权限问题。 我有我自己的子文件夹在/home/my_username有没有办法通过提供一个更具体的命令来完成python安装吗? 另外,Python 2.4已经安装,我怎么确保我实际上使用2.6? 非常感谢!

缺lessDBus .service文件

我正在为自己的需求构build自定义的dbus服务,并希望在需要时自动启动dbus服务。 为此目的,我创build了这样的.service文件 [D-Bus Service] Name=com.mycompany.servicename Exec=/home/myuser/Workspace/service-start User=myuser 在这里,我只是改变了服务和可执行文件的实际名称,但这不是重点。 我已经仔细检查了真实姓名 – 完全匹配。 我已经把这个文件名为com.mycompany.servicename.service到/ usr / share / dbus-1 / services文件夹(我使用Ubuntu 11.10)。可执行文件对每个人都有x权限。 这就是问题所在 – 当我尝试启动执行的客户端时 bus = dbus.SessionBus() bus.get_object('com.mycompany.servicename','/path/to/object') 我得到dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name com.mycompany.servicename was not provided by any .service files 在path'/path/to/object'中的'/path/to/object'在服务启动后立即注册。 我只是不明白为什么dbus无法find我的.service文件。 也许我错过了什么? 有任何想法吗? 编辑我设法让D-BUS自动启动我的脚本。 .service文件的部分应该被命名为[D-BUS Service]而不是[D-Bus service]