popen相关内容
我在使用 subprocess.Popen() 从我的 python 脚本中使用线程生成同一应用程序的多个实例以使它们同时运行时遇到一些问题.在每个线程中,我使用 popen() 调用运行应用程序,然后通过调用wait() 等待它完成.问题似乎是 wait() 调用实际上并没有等待进程完成.我尝试只使用一个线程,并在进程开始和结束时打印出文本消息.所以线程函数看起来像这样: def worker
..
我正在尝试制作一个带有按钮的 PyGtk Gui.当用户按下此按钮时,gnome-terminal 提示用户输入密码. 然后它将为 geditGit 存储库> JQuery 片段. 然后,它将 js.xml 文件复制到 /usr/share/gedit/plugins/snippets/js.xml 最后,它强行删除了 Git 存储库. 命令: gnome-termina
..
在 Bash 中,您可以轻松地将进程的输出重定向到临时文件描述符,并且所有这些都由 bash 自动处理,如下所示: $ mydaemon --config-file
..
有没有办法从 python 调用程序而不等待它返回?我创建了一个脚本,它将程序复制到目录并运行该程序.但是当我从 python 调用程序时,python 脚本在我启动的程序退出之前不会退出.我试过 os.system 和 Popen.还有其他方法吗? 添加信息:os.spawnl 和 os.P_DETACH 仍然不起作用;根据文档,“P_DETACH 类似于 P_NOWAIT,但新进程与调用
..
当使用 subprocess.Popen(args, shell=True) 运行“gcc --version"(仅作为示例),在 Windows 上我们得到: >>>从子流程导入 Popen>>>Popen(['gcc', '--version'], shell=True)gcc (GCC) 3.4.5 (mingw-vista special r3) ... 所以它可以很好地打印出我所期望
..
我正在使用子进程中的 Popen 函数执行命令行工具的模块: subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=无,universal_newlin
..
我正在开发一个漂亮的小功能: def startProcess(name, path):"""在后台启动一个进程并写入一个 PID 文件返回整数:pid"""# 检查进程是否已经在运行状态,pid = processStatus(名称)如果状态 == 正在运行:引发 AlreadyStartedError(pid)# 开始进程进程 = subprocess.Popen(路径 + '>/dev/n
..
我想要执行 Test_Pipe.py 的输出,我在 Linux 上尝试了以下代码,但没有成功. Test_Pipe.py 导入时间而真:打印“某某……"时间.sleep(.1) Caller.py import subprocess as subp进口时间proc = subp.Popen(["python", "Test_Pipe.py"], stdout=subp.PIPE, st
..
可能重复: 在没有控制台的情况下使用 Popen 在 pythonw 中运行进程 我在 Windows 上使用 python 2.7 使用 dcraw 和 PIL 自动进行批量 RAW 转换. 问题是我每次运行 dcraw 时都会打开一个 Windows 控制台(每隔几秒钟发生一次).如果我使用 .py 文件运行脚本,它就不会那么烦人,因为它只打开主窗口,但我更愿意只显示 GUI.
..
我有一个 python 脚本,它必须为目录中的每个文件启动一个 shell 命令: 导入操作系统文件 = os.listdir(".")对于文件中的 f:os.execlp("myscript", "myscript", f) 这对于第一个文件很好,但是在“myscript"命令结束后,执行停止并且不会返回到 python 脚本. 我该怎么办?我必须在 调用 os.execlp() 之前
..
如果我使用给定命令在 python 中生成一个新的 subprocess(假设我使用 python 命令启动 python 解释器),我如何将新数据发送到过程(通过 STDIN)? 解决方案 使用标准的subprocess模块.您使用 subprocess.Popen() 启动进程,它将在后台运行(即与您的 Python 程序同时运行).当您调用 Popen() 时,您可能希望将 stdi
..
我想从 Python 调用一个外部程序.我已经使用了 Popen() 和 call() 来做到这一点. 两者有什么区别? 我的具体目标是从 Python 运行以下命令.我不确定重定向是如何工作的. ./my_script.sh >输出 我阅读了 文档,上面写着 call() 是一个便利功能或快捷功能.我们是否会因为使用 call() 而不是 Popen() 而失去任何权力?
..
我正在尝试使用 Python 函数计算文件中的行数.在当前目录中,当 os.system("ls") 找到文件时,命令 subprocess.Popen(["wc -l filename"], stdout=subprocess.PIPE) 不起作用. 这是我的代码: >>>导入操作系统>>>导入子流程>>>os.system("ls")排序列表.dat0>>>p = subprocess
..
导入子流程def my_function(x):返回 x + 100output = subprocess.Popen(my_function, 1) #我想传递函数对象及其参数打印输出#期望输出:101 我只找到了有关使用单独脚本打开子进程的文档.有谁知道如何传递函数对象,甚至是传递函数代码的简单方法? 解决方案 我认为您正在寻找更像多处理模块的东西: http://docs.p
..
我正在使用 Popen 调用一个不断将其标准输出和标准错误写入日志文件的 shell 脚本.有没有办法同时连续输出日志文件(到屏幕上),或者让shell脚本同时写入日志文件和stdout? 我基本上想在 Python 中做这样的事情: cat 文件 2>&1 |tee -a logfile #“cat 文件"将替换为一些脚本 同样,这将 stderr/stdout 一起传送到 tee,t
..
我知道如何使用 cmd = subprocess.Popen 然后 subprocess.communicate 来运行命令.大多数时候,我使用一个用 shlex.split 标记的字符串作为 Popen 的 'argv' 参数.以“ls -l"为例: 导入子流程进口shlex打印 subprocess.Popen(shlex.split(r'ls -l'),stdin = subprocess
..
我想使用 Popen 从我的 Python 脚本中调用 ImageMagick 的“转换"实用程序,如下所示: Popen(["convert", input_path, "-flop", output_file_path]) (上面的例子只是将图像水平反转) 问题是当我在 Windows 中运行脚本时,它错误地调用了 Windows 附带的 convert.exe 实用程序将 FAT
..
如果这是我的子流程: 导入时间,sys对于我在范围内(200):sys.stdout.write('正在读取 %i\n'%i )时间.sleep(.02) 这是控制和修改子进程输出的脚本: 导入子进程、时间、系统打印'开始'proc = subprocess.Popen('c:/test_apps/testcr.py',壳=真,标准输入=子进程.PIPE,标准输出=subprocess.PI
..
有没有办法在Python的subprocess.Popen()中指定命令的运行目录? 例如: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') 我的 Python 脚本位于 C:\programs\python 是否可以在D:\test\local目录下运行C:\mytool\tool.exe? 如何设置子进程的工
..
我在 Windows 8/XP 上使用 Python 2.7. 我有一个程序 A 使用以下代码运行另一个程序 B: p = Popen(["B"], stdout=PIPE, stderr=PIPE)标准输出,标准错误 = p.communicate()返回 B 运行批处理脚本 C.C 是一个长时间运行的脚本,即使 C 尚未完成,我也希望 B 退出.我已经使用以下代码(在 B 中)完成了
..