Articles of python

用python运行perl脚本

我一直在看这里和其他地方的多个例子,但似乎没有为我工作。 我对python一无所知。 我所要做的就是运行一个简单的perl脚本 sdb1/media/process.pl 我find的示例代码遍布整个地方,大部分看起来像是有额外的东西,我不需要。 我现在正在尝试的是 #! /usr/bin/python pipe = subprocess.Popen(["perl", "/sdb1/media/process.pl"], stdout=subprocess.PIPE) 但是这只是给了我错误 NameError: name 'subprocess' is not defined 如果我错过了任何重要的事情,请告诉我。 否则,谢谢你的时间。

如何在Python中获取手册页的内容?

即时通讯运行Linux,我想导入一些手册页到我的应用程序。 我想出了这个: p = subprocess.Popen(('man %s' % manTopic,), shell = True, stdout = subprocess.PIPE) stdout, stderr = p.communicate() if stdout: 但它不好,男人只显示第一页,阻止我的申请 我如何获得Python的手册页?

检查string是否与指定的date格式相匹配

我需要我的bash脚本接受date格式string(“strftime”格式),例如: << [%Y-%m-%d%H:%M:%S] >> 然后检查我input文件中的数据(左值)是否与给定的string匹配: 格式string:<< [%Y-%m-%d%H:%M:%S] >> 数据文件: << [2017-05-04 14:49:18] >> 12.1 – 有效 <[2017-05-04 14:49:18]> -1421 – 无效 << [05-04-2017 14:49:18] >> 1231231.02 – 无效 input文件有很多行,我唯一想到的是使用Python: function check_time_format() { python -c "import time; time.strptime(\"$1\",\"$2\")" 2> /dev/null } while read -r lvalue rvalue; do check_time_format "$lvalue" "$TIMEFORMAT" [[ $? != 0 ]] && […]

apt-get在bash脚本中没有按预期工作

我有一个bash中的小脚本,可以自动安装一些软件包。 它使用apt-get来安装一些软件包,其余的来自源代码。 我有我需要的所有源tarred到一个单一的tar文件。 示例脚本如下所示: #!/bin/bash apt-get install wget gcc g++ ruby php5 php5-dev xz-utils bzip2 -y cd /usr/local/bin/ wget my-sources.tar.gz tar zxvf my-sources.tar.gz cd my-sources tar zxvf package1.tar.gz cd package1 ./configure && make && make install cd /usr/local/src/my-sources tar zxvf package2.tar.gz cd package2 ./configure && make && make install cd /usr/local/src/my-sources tar zxvf package3.tar.gz cd […]

在线程中显示对话框

我有一个pygtk添加其中有一个gtk.Button(),当按下必须做5秒的工作。 所以, 在信号处理程序中实现时间密集型函数的思想是一个线程。 首先,我在开头添加了gtk.gdk.threads_init()。 我的信号处理程序是def send_sms() ,我有另一个函数def send_sms_mycantos() ,我称之为线程。 threading.Thread(target = self.send_sms_mycantos, args=(phone_no, message_text, username, password)).start() 我也有一个显示对话框的function。 def dialog_notification(self, message, dialog_type): dlg = gtk.MessageDialog(self.window, gtk.DIALOG_DESTROY_WITH_PARENT, dialog_type, gtk.BUTTONS_CLOSE, message) dlg.run() dlg.destroy() 现在,如果我在我的线程中调用上述函数 self.dialog_notification("Message sent successfully", gtk.MESSAGE_INFO) 我得到这个错误。 SMSSender.py: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0. 这是实施线程的正确方法吗? 我究竟做错了什么。 错误就像线程不知道Xserver正在运行。

如何禁止与Python的Windows文件处理?

我使用Python 2.7和Tkinter在Windows中运行控制台应用程序。 我正在使用文件浏览器来select文件。 我的问题是,在用户select文件和使用该path的脚本之间,Windows也尝试打开它。 在这种情况下,这是一个.pages文件,它试图用Word打开它。 我不想要这样的事情发生。 我怎样才能阻止它> 只是为了上下文,这是代码: from Tkinter import * from tkFileDialog import * import os.path import shutil import sys import tempfile from zipfile import ZipFile import subprocess class uiclass(): def __init__(self,root): b = Button(root, text="Browse", command=self.callback) w = Label(root, text="Please choose a .pages file to convert.") w.pack() b.pack() def callback(self): print "click!" […]

在Windows上识别宽泛的Unicode点窄Python构build

我有一个狭窄的Python 2.7.6在Windows上构build。 我也有一个包含“窄”(<0x10000)和“宽”(> 0xFFFF)Unicode代码点的string。 >>> wide1 = u'\U0002b740' >>> wide2 = u'\ud86d\udf40' >>> wide1 == wide2 True >>> narrow = u'\ud86d' >>> s = wide1 + narrow 但是当我迭代string时,它不能识别宽码点: >>> for c in s: >>> c u'\ud86d' u'\udf40' u'\ud86d' 而且不可能发现一个字符是一个窄码点还是一个宽码点的一部分。

获取命令窗口输出显示在小部件与tkinter

快速工程摘要 :使用Tkinter制作一个python小部件,显示来自多个json和txt文件的数据。 需要在Windows中工作。 我在哪里 :一切都很好,与JSON文件。 但是我遇到了txt文件的麻烦。 我可以用这段代码parsing出我需要的信息: from Tkinter import * import re results = open("sample_results.txt", "r") for line in results: if re.match("(.*)test(.*)", line): print line if re.match("(.*)number(.*)", line): print line if re.match("(.*)status(.*)", line): print line if re.match("(.*)length(.*)", line): print line 问题 :它显示命令shell中的所有数据而不是单独的小部件。 我想简单地将所有这些信息从命令shell移动到文本框小部件(或者一个tkmessage小部件,但我觉得文本框会更合适)。 一个非常长的谷歌search过程给了我很多代码不起作用 – 任何提示? 谢谢! 注:这不是所有的代码 – 只是我需要帮助修复的部分

使用_winreg编辑REG_BINARY

我试图做一个简单的程序,可以启用或禁用代理设置在Windows使用_winreg。 有两个设置在registry中,我需要改变来做到这一点。 第一个是ProxyEnable ,它是一个REG_DWORD ,第二个是DefaultConnectionSettings ,它是一个REG_BINARY 。 我可以访问这两个键,并使DWG的变化是没有问题的。 我遇到问题的地方是第二个键,我可以打开并查询它,但是我不知道如何改变它。 这是一个string,所以我想我也许可以切片,只是添加我想要的位,但原始值是'\x03' ,我需要将其更改为'\ x09',当进入python时变成'\ t'因为我猜这是逃脱的“横向标签”。 我对Python很新,所以我意识到我可能完全是这样做的,任何意见,将不胜感激。 key = wreg.OpenKey(wreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Connections",0, wreg.KEY_ALL_ACCESS) 这是我需要帮助的关键,我可以打开并阅读,但我不知道如何正确地使用它。 我基本上只需要第9个字节从03更改为09,然后回到03时,我想重新启用代理。

py2exe错误:“atexit._run_exitfuncs错误:sys.exitfunc错误:”

我正在尝试使用py2exe将我的pyqt应用程序包装到Windows可执行文件中。 我能够生成的EXE很好,但运行它,它给出了一个我不知道的错误。 这是我的setup.py: from distutils.core import setup import py2exe setup(name="dcm", version="0.1", author="xyz", license="GNU General Public License (GPL)", windows=[{"script": "du.py"}], options={"py2exe": {"skip_archive": True,"packages": ["sip","colorama", "xml.etree.ElementTree"], "includes": ["PyQt4.QtGui","urllib2","gzip","datetime","sqlite3","csv","os","errno","shutil","fileinput","hashlib","ftplib"]}}) 这里是非常详细的错误日志: # trying C:\dev\dcm\dist\.\atexit.pyd # trying C:\dev\dcm\dist\.\atexit.py # trying C:\dev\dcm\dist\.\atexit.pyw # trying C:\dev\dcm\dist\.\atexit.pyc import atexit # precompiled from C:\dev\dcm\dist\.\atexit.pyc # trying C:\dev\dcm\dist\.\linecache.pyd # trying C:\dev\dcm\dist\.\linecache.py # trying C:\dev\dcm\dist\.\linecache.pyw # […]