在python中获取os.system的输出并在之后对其进行处理

用户2921139

我正在尝试做类似的事情:

f = subprocess.check_output("./script.sh ls -l test1/test2/test.log", shell=True)

当我打印f时,我得到的值为0。我尝试使用子进程,然后使用read(),即使这样我也没有得到文件的详细信息。我需要验证文件的大小。

不知道该怎么做。

有什么帮助吗?

当我使用

f = os.system("./script.sh ls -l test1/test2/test.log"),我得到了输出但没有保存在f中。诸如stdoutput之类的东西。

更新:我曾经

f = os.popen("./script.sh ls -l test1/test2/test.log 2>&1")

如果我直接在CLI上直接在上面的引号中运行了相同的命令,则可以正常工作,但是如果我在脚本中使用了以上命令或使用了s = f.readline(),脚本将停止,则需要先单击“ return”,然后脚本才能继续。

这是为什么?我需要's',因为我需要对其进行处理。

帕德拉克·坎宁安

您可以使用subprocess.check_output

f = subprocess.check_output("./script.sh ls -l test1/test2/test.log",shell=True)
print(f)

您可以不使用shell = True拆分为单个args的列表:

f = subprocess.check_output(['./script.sh', 'ls', '-l', 'test1/test2/test.log']))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 JavaScript 中创建一个结构体并在之后对其进行排序?

如何获取Python子进程的输出并在之后终止它?

从.CSV获取主题标签,并在Python 3中对其进行计数

如何从状态获取列表并在qore中对其进行修改?

使用std :: function作为成员函数,该函数捕获`this`,并在析构函数之后从复制的lambda中对其进行访问

如何在Python中获取多个字符输入并对其进行处理

如何从 dict 列表中获取前 3 个唯一名称并在 python 中对其进行计数

如何从流中读取CSV文件并在写入每一行时对其进行处理?

python-不能从os.system()响应中获取0

jQuery获取数据标签并对其进行处理

从 SSIS 接收一个 system.object 变量并在 C# 中的 foreach 并行循环中对其进行循环

ping无限的时间,并在Python中获取其输出

在os.system之后清除Python CGI中的stdout

要求用户输入名称并在C中输出其缩写

在单个 db 调用中获取所有数据并在 Controller - Codeigniter 中对其进行过滤?

如何从POST请求中获取XML并在Servlet过滤器中对其进行修改?

安装后执行批处理文件,并在Inno Setup中“完成”页面之前的自定义页面上显示其输出

获取一个类似于XML的String元素,并在Java中对其进行操作

获取用户自定义元数据值并在WooCommerce订单中对其进行更新

获取按 $dayOfWeek 分组的每个用户的日期数组并在 MongoDb 中对其进行操作

如何获取每天的进出时间并在日期范围之间的查询中对其进行计数?

我如何从用户那里获取最新的tweet并在UILabel中对其进行更新?

有没有办法在.gql文件中写入插入GRAQL语句并在GRAKN控制台或Workbase中对其进行处理?

流式地图并在Java 8中对其进行修改

提取列名称并在Pandas中对其进行排序

创建头文件并在C中对其进行测试

获取控制台输出并在批处理文件中同时打印

将python项目添加到docker中并在jupyter Notebook中对其进行测试

如何进行随机蒙特卡罗扫描并在数据文件中获取输出