subprocess相关内容
我正在尝试使用 Python 脚本更改目录,但出现错误. python代码: 导入子流程p = subprocess.Popen(['cd', '~'], stdout=subprocess.PIPE)输出 = p.communicate()打印输出 我收到此错误: 文件“test_sub.py",第 2 行,在 p = subprocess.Popen(['cd',
..
我正在尝试使用 unicode 文件名运行 subprocess.call(),这是简化的问题: n = u'c:\\windows\\notepad.exe 'f = u'c:\\temp\\nèw.txt'subprocess.call(n + f) 这引发了著名的错误: UnicodeEncodeError: 'ascii' 编解码器无法编码字符 u'\xe8' 编码为 ut
..
我正在尝试制作一个简单的 python 脚本来启动一个子进程并监视其标准输出.以下是代码片段: process = subprocess.Popen([path_to_exe, os.path.join(temp_dir,temp_file)], stdout=subprocess.PIPE)而真:输出=process.stdout.readline()打印“测试" 问题在于脚本在 outpu
..
是否有 subprocess.call 的变体可以在不打印到标准输出的情况下运行命令,或者有一种方法可以阻止它的标准输出消息? 解决方案 是的.将其 stdout 重定向到 /dev/null. process = subprocess.call(["my", "command"], stdout=open(os.devnull, 'wb'))
..
将我的 python 程序视为 input.py 导入os.path,subprocess从子流程导入 STDOUT,PIPEdef compile_java(java_file):subprocess.check_call(['javac', java_file])def execute_java(java_file):java_class,ext = os.path.splitext(jav
..
我想捕获并显示我通过 Python 的子进程调用的进程的输出. 我以为我可以将我的类文件对象作为命名参数 stdout 和 stderr 传递 我可以看到它访问 fileno 属性 - 所以它正在对对象做一些事情.但是,永远不会调用 write() 方法.我的方法是完全关闭还是我只是错过了什么? 类进程(对象):类 StreamWrapper(对象):def __init__(自我,
..
我有一个名为 my_own_exe 的交互式程序.首先,它打印出alive,然后你输入S\n,然后它再次打印出alive.最后输入L\n.它进行一些处理并退出. 但是,当我从以下 python 脚本调用它时,程序在打印出第一个“活着"后似乎挂起. 谁能告诉我为什么会这样? //看完后续(谢谢大家),我修改代码如下: 导入子流程进口时间base_command = "./AO_F
..
如何使用 subprocess 模块运行 bash 脚本,我必须为其提供几个参数? 这是我目前正在使用的: subprocess.Popen(['/my/file/path/programname.sh', 'arg1 arg2 %s' % arg3], \壳=真) bash 脚本似乎没有接受任何参数.非常感谢任何见解! 解决方案 将参数作为列表传递,参见 文档中的第一个代码示例
..
我很难解析 subprocess.Popen 的参数.我正在尝试在我的 Unix 服务器上执行脚本.在 shell 提示符下运行时的脚本语法如下:/usr/local/bin/script 主机名 = -p 长列表.无论我如何尝试,脚本都没有在 subprocess.Popen 中运行 “="前后的空格为必填项. 导入子流程Out = subprocess.Popen(['/us
..
有没有办法在python“持久"中进行子进程调用?我正在调用一个需要一段时间才能多次加载的程序.因此,如果我可以让该程序保持打开状态并与其通信而不杀死它,那就太好了. 我的python脚本的卡通版是这样的: 文本集合中的文本:myprocess = subprocess.Popen(["myexecutable"],标准输入 = subprocess.PIPE,标准输出 = subproc
..
我需要一种方法来读取 Popen 创建的流中所有当前可用的字符,或者找出缓冲区中剩余的字符数. 背景:我想用 Python 远程控制一个交互式应用程序.到目前为止,我使用 Popen 创建了一个新的子进程: process=subprocess.Popen(["python"],shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,
..
我想读取子进程的标准输出的第一个字节,以了解它已经开始运行.之后我想丢弃所有进一步的输出,这样我就不必担心缓冲区了. 最好的方法是什么? 澄清:我希望子进程继续与我的程序一起运行,我不想等待它终止或类似的事情.理想情况下,有一些简单的方法可以做到这一点,而无需使用 threading、forking 或 multiprocessing. 如果我忽略输出流,或者 .close()
..
PHP 有 2 个密切相关的函数,escapeshellarg() 和 escapeshellcmd().它们似乎都在做类似的事情,即帮助使字符串在 system()/exec()/etc 中更安全地使用. 我应该使用哪一个?我只是希望能够接受一些用户输入并在其上运行命令,而不是让一切都崩溃.如果 PHP 有一个 exec-type-function,它接受一个字符串数组(如 argv),它
..
我有一些自定义命令. # 有效subprocess.Popen(['python'], stdout=subprocess.PIPE) 但如果我有自己的系统命令,例如 deactivate,我会收到该错误 Traceback(最近一次调用最后一次):文件“runner2.py",第 21 行,在 主要的()文件“runner2.py",第 18 行,在 mainsubproc
..
完整的工作测试用例 当然,根据您在本地和远程计算机上的内存,您的数组大小会有所不同. z1 = numpy.random.rand(300000000,2);对于我在范围内(1000):print('************************************************\n');direct_output = subprocess.check_output('ss
..
我想将 python 脚本的子进程的标准输出和标准输入定向到同一个文件中.我不知道如何使两个来源的线条可区分?(例如,在 stderr 中的行前加上感叹号.) 在我的特殊情况下,不需要实时监控子进程,正在执行的 Python 脚本可以等待其执行结束. 解决方案 tsk = subprocess.Popen(args,stdout=subprocess.PIPE,stderr=subp
..
我正在查看这个问题. 就我而言,我想做一个: 导入子流程p = subprocess.Popen(['ls', 'folder/*.txt'], stdout=subprocess.PIPE,标准错误=子进程.PIPE)出,错误= p.communicate() 现在我可以在命令行上检查执行“ls 文件夹/*.txt"是否有效,因为该文件夹有许多 .txt 文件. 但在 Pytho
..
短版(如果你能回答短版它对我有用,其余的主要是为了其他有类似任务的人的利益): 在 Windows 的 python 中,我想创建 2 个文件对象,附加到同一个文件(它不必是硬盘驱动器上的实际文件),一个用于读取,一个用于写入,这样如果读取端尝试读取它永远不会得到 EOF(它只会阻塞直到写入某些内容).我认为在 linux os.mkfifo() 中可以完成这项工作,但在 Windows 中
..
我想做的很简单.我想使用 python 的 subprocess 模块调用以下命令. cat/path/to/file_A >文件_B 该命令简单地工作并将file_A的内容复制到当前工作目录中的file_B.但是,当我尝试在脚本中使用 subprocess 模块调用此命令时,它会出错.以下是我正在做的事情: 导入子流程subprocess.call(["cat", "/path/to/fi
..
17.1.4.2:替换 shell 管道部分python subprocess 模块说要替换 输出=`dmesg |grep hda` 与 p1 = Popen(["dmesg"], stdout=PIPE)p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)p1.stdout.close() # 如果 p2 退出,则允许 p1
..