Articles of python

是否有可能让python打开一个terminal并写信给它?

例如,如果我有这个代码: subprocess.call(['gnome-terminal']) 是否有可能有python输出string到刚才打开的特定terminal? 谢谢!

将每个测序数据提取为单个文件

有一个ecoli.ffn文件,其中的行显示了测序基因的名称: $head ecoli.ffn >ecoli16:g027092:GCF_000460315:gi|545267691|ref|NZ_KE701669.1|:551259-572036 ATGAGCCTGATTATTGATGTTATTTCGCGT AAAACATCCGTCAAACAAACGCTGATTAAT >ecoli16:g000011:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042 GTGTACGCTATGGCGGGTAATTTTGCCGAT >ecoli16:g000012:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042 GTGTACGCTATGGCGGGTAATTTTGCCGAT CTGACAGCTGTTCTTACACTGGATTCAACC CTGACAGCTGTTCTTACACTGGATTCAACC 如上所示,基因名称在第一和第二个结肠之间: g027092 g000011 g000012 我想使用ecoli.ffn生成三个文件: g027092.txt , g000011.txt , g000012.txt ,包含每个测序数据。 例如, g027092.txt将包含原始数据,但没有标题 : $cat g027092.txt ATGAGCCTGATTATTGATGTTATTTCGCGT AAAACATCCGTCAAACAAACGCTGATTAAT 如何做到这一点?

如何在python中传递星号到模块“sh”?

我在Python中使用“sh”模块来调用Linux上的外部命令。 在我的具体情况下,我想称之为“du”命令,因为它比“手动”更有效。 不幸的是,下面的行不起作用: output = sh.du('-sx', '/tmp/*') 但是这确实有效: output = sh.du('-sx', '/tmp/') 如果我传递一个星号,我得到以下错误信息: 'ascii' codec can't encode character u'\u2018' in position 87: ordinal not in range(128) 有谁知道如何处理命令行参数中的星号? 根据要求,这里是堆栈跟踪: Traceback (most recent call last): File "./unittest.py", line 33, in <module> output = sh.du('-sx', '/tmp/*') File "/usr/local/lib/python2.7/dist-packages/sh.py", line 1021, in __call__ return RunningCommand(cmd, call_args, stdin, stdout, stderr) […]

在Linux中实时监控鼠标坐标

我需要一个python编码来在Linux中实时监控鼠标坐标。 我发现下面的编码,它运作良好,但鼠标坐标信息将显示在一个popup的GUI窗口。 现在我不需要在GUI窗口中显示,只需要将鼠标坐标信息保存到文本文件(日志文件)。 有人可以帮助我吗? 谢谢! 另外,如果能按小时保存鼠标坐标信息,那就太好了。 #!/usr/bin/env python """ Corrected, the thread stops now. """ import sys import os from time import sleep import gtk gtk.gdk.threads_init() import threading # uses the package python-xlib # from http://snipplr.com/view/19188/mouseposition-on-linux-via-xlib/ # or: sudo apt-get install python-xlib from Xlib import display old_stdout = sys.stdout sys.stdout = open(os.devnull, 'w') def mousepos(): […]

Unix3上的Python3 CGI HTTPS服务器失败

这个Python3 CGI HTTPS服务器过去几个星期(或几个月)工作,但现在不再在Linux(Ubuntu)下工作。 我试过在Ubuntu 10.04和Ubuntu 14.04上的行为是一样的。 现在,当我尝试访问任何CGI脚本,我得到: Secure Connection Failed An error occurred during a connection to 127.0.0.1:4443. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long) 以下是服务器的代码: import http.server import ssl import os server_address = ('', 4443) cert = os.path.abspath('./server.pem') handler = http.server.CGIHTTPRequestHandler handler.cgi_directories = ['/cgi-bin'] httpd = http.server.HTTPServer(server_address, handler) […]

如何读取当前在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? 提前致谢