【python – 记录并压缩subprocess.call的输出】教程文章相关的互联网学习教程文章

python – multiprocessing.Queue的工作示例

我正在寻找一个有关multiprocessing.Queue的工作示例,从这个问题中指出它:Python utilizing multiple processors 我遇到了this,但它似乎只使用我的12个处理器中的一个,即使我更改num_processes = 12.我也改变了num_jobs = 200000,这样就不会这么快完成. 有人能告诉我这个例子有什么问题,还是指向一个有效的例子?解决方法:有例子in the Python docs. 这些例子有用吗?如果没有,可能问题本身不是Python,而是其他东西.

python – CreateProcess如何定位可执行文件?【代码】

根据文档,CreateProcess可以传递一个可执行文件名作为第一个参数,或命令行作为第二个参数(从中作为第二个参数)将提取可执行文件名称). 如果传递可执行文件名,则文档说不会搜索PATH. 如果您改为传递命令行,则会提取第一个令牌以供使用因为可执行文件名和PATH应该被搜索. 但在我的情况下,我调用CreateProcess —仅使用命令行和修改后的环境—找不到所需的可执行文件.它只是如果我在cmd.exe / c命令行之前成功(我理解为什么它以这种方...

python – 缺少subprocess命令的输出【代码】

我正在开发一个项目来对本地项目进行PEP8样式检查.我已经尝试使用子进程方法,我能够获得提示的生成终端输出以改进样式并将其保存为字符串. 我生成PEP8样式的代码如下:def run_pep8_style(target):pep_tips = subprocess.Popen("python pep8.py --ignore=E111,E501 --filename=*.py " + target, shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE)tips = pep_tips.communicate()[0]print "Style: "print tips但是,我尝试...

Python multiprocessing.Manager和os.fork产生奇怪的行为【代码】

我的同事用他正在研究的守护程序脚本问了我的问题.他遇到了一个涉及multiprocessing.Manager的奇怪错误,我设法用以下五行重现:import multiprocessing, os, sys mgr = multiprocessing.Manager() pid = os.fork() if pid > 0:sys.exit(0)在CentOS 6 Linux和Python 2.6上运行时,我收到以下错误:Traceback (most recent call last):File "/usr/lib64/python2.6/multiprocessing/util.py", line 235, in _run_finalizersfinalizer()...

python – 记录并压缩subprocess.call的输出【代码】

我想将subprocess.call(…)的输出重定向到xz或bzip2压缩文件. 我试过了 :with lzma.open(log_path, "x") as log_file:subprocess.call(command, stdout=log_file, stderr=log_file)但生成的文件不是有效的XZ压缩文件:$xzcat logfile.xz xzcat : logfile.xz: Format de fichier inconnu(用法语表示“未知文件格式”). 当我只使用cat时,文件显示正确,最后有一些奇怪的数据(在脚本中启动的命令是rsync):& cat logfile.xz sending i...

python – 如何在循环中打印调用subprocess.Popen(…)的输出?【代码】

我编写了一个脚本来运行带有不同输入参数的命令行程序,并从输出中获取某一行.我在循环中运行以下内容:p1 = subprocess.Popen(["program", args], stderr=subprocess.STDOUT, stdout=subprocess.PIPE, shell=False) p2 = subprocess.Popen(["grep", phrase], stdin=p1.stdout, stdout=subprocess.PIPE, shell=False) p1.wait() p2.wait() p = str(p2.stdout.readlines()) print 'p is ', p一个问题是在循环完成运行后只有输出.我想...

python – subprocess.Popen(..).communication(..)当与graphviz一起使用时随机丢弃数据!【代码】

我正在使用graphviz的点为Web应用程序生成一些svg图.我用Popen打电话给dot:p = subprocess.Popen(u'/usr/bin/dot -Kfdp -Tsvg', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)str = u'long-unicode-string-i-want-to-convert'(stdout,stderr) = p.communicate(str)发生的事情是点程序抛出如下错误:Error: not well-formed (invalid token) in line 1 ... <tr><td cellpadding="4bgcolor="#EEE8AA"> ... in lab...

Python中的subprocess()参数【代码】

我在Python中有一个参数搞砸了我的subprocess()命令.论点是:--server-args="-screen 0, 1280x800x24"args = ['xvfb-run','--server-args="-screen 0, 1280x800x24"','/usr/bin/python','/root/AdamN-python-webkit2png-3ae4322/webkit2png.py','-o',filename,url, ]我认为它正在逃避双引号.有没有解决这个问题?解决方法:虽然你可能在过去两年中已经想到这一点,但今天我遇到了同样的问题.解决方案:import subprocess subprocess....

python – Jython:subprocess.Popen用完了文件描述符

我正在使用Python的Jython 2.51实现来编写一个脚本,该脚本通过subprocess.Popen重复调用另一个进程,并使用PIPE将stdout和stderr传递给父进程,并将stdin传递给子进程.经过几百次循环迭代后,我似乎用完了文件描述符. 除了close_fds选项之外,Python subprocess documentation没有提及释放文件描述符的问题,这个描述没有得到很清楚的描述(为什么除了0,1和2之外还有任何文件描述符在开头?).我假设在CPython中,引用计数负责资源释放问题...

第六章 常用模块(8):python常用模块(执行系统命令的模块:subprocess模块)

功能:通过python执行操作系统的命令。(os模块中的os.system()也有类似的功能) 前提小知识: 在操作系统上,两个应用程序进程之间的内存数据一般是不能直接互相访问的(系统的安全机制)。 在python上执行系统命令,其实相当于用python打开一个新的进程,然后在新进程里执行系统命令。 这样,执行的结果因为不是python的进程内数据,正常是获取不了结果的。 但是subprocess模块提供了一个获取系统命令执行结果方法(subprocess.PIPE)。...

python – 终止使用“subprocess.Popen()”打开的应用程序?【代码】

我想在Eye of Gnome(eog)中查看图像,然后让它自动关闭.我不太熟悉子进程,但到目前为止我已经尝试过:eog = subprocess.Popen('oeg <some file>', shell=True) # ...Code, Code, Code... eog.kill()要么eog.terminate()都没有工作.有帮助吗?解决方法:不要使用shell = True,例如:import subprocess, shlex command = 'eog <filename'> eog = subprocess.Popen(shlex(command)) ..code.. eog.kill()

multiprocessing.pool中的Python ThreadPool无法使用所有CPU【代码】

我在Python中有一些字符串处理工作.我希望加快这项工作通过使用线程池.字符串处理作业与每个作业都没有依赖关系其他.结果将存储到mongodb数据库中. 我编写了如下代码:thread_pool_size = multiprocessing.cpu_count() pool = ThreadPool(thread_pool_size) for single_string in string_list:pool.apply_async(_process, [single_string ]) pool.close() pool.join()def _process(s):# Do staff, pure python string manipulation...

python – subprocess.Popen:分离stdout / stderr但保持顺序【代码】

如何使用subprocess.Popen获取命令的输出并为stdout和stderr分别进行回调,但是确保按照流程来自进程的顺序调用这些回调? 如果我不关心分离STDOUT和STDERR那么我可以这样做:fd = subprocess.Popen( cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT ) line = fd.stdout.readline() while line :callback( line )line = fd.stdout.readline()但是,如果我有stdoutCallback和stderrCallback,并希望它们在相应的输出上调用,但是...

python – AttributeError:’_ process_plot_var_args’对象没有属性’get_next_color’【代码】

我试图运行以下代码.但它在lifelines / plotting.py文件中给出了一个参数必需的错误.我无法解决它.import pandas as pd from lifelines.datasets import load_dd import matplotlib.pyplot as pltdata = load_dd()print data.sample(6)from lifelines import KaplanMeierFitter kmf = KaplanMeierFitter()T = data["duration"] E = data["observed"] kmf.fit(T, event_observed=E) kmf.survival_function_.plot() plt.title('Surv...

python – 将subprocess.call的输出输出到进度条【代码】

我正在使用growisofs通过我的Python应用程序来刻录iso.我在两个不同的文件中有两个类; GUI()(main.py)和Boxblaze()(core.py). GUI()构建窗口并处理所有事件和东西,Boxblaze()具有GUI()调用的所有方法. 现在当用户选择要刻录的设备和要刻录的文件时,我需要调用一个调用以下命令的方法:growisofs -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=2 -Z /burner/device=/full/path/to.iso此命令应该提...