社区
脚本语言
帖子详情
请问python里的os.popen3(cmd)能接受多长的返回值?
wangliangkai
2010-09-10 04:38:53
1、在python里的 stdin, stdout, stderr = os.popen3(cmd) 的 os.popen3(cmd) 能接受多长的返回值,在开发中发现超过4000的长度就无法接收返回值,有其他更好的方法能接收更长字符串的返回值吗?
注: cmd 是linux命令,可返回一个超过4000字符长度的字符串返回值。
...全文
674
8
打赏
收藏
请问python里的os.popen3(cmd)能接受多长的返回值?
1、在python里的 stdin, stdout, stderr = os.popen3(cmd) 的 os.popen3(cmd) 能接受多长的返回值,在开发中发现超过4000的长度就无法接收返回值,有其他更好的方法能接收更长字符串的返回值吗? 注: cmd 是linux命令,可返回一个超过4000字符长度的字符串返回值。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
angel_su
2010-09-17
打赏
举报
回复
有多大?报啥错?
如果确是太大问题,一开始stdout=subprocess.PIPE改一下,换成定向到一个文件,解析时一行行或读入一定大小下循环处理...
angel_su
2010-09-17
打赏
举报
回复
4500很小很小的说,问题应该在其他地方...
wangliangkai
2010-09-17
打赏
举报
回复
字符集最长时是4500个字符,执行到“re.search(r"Status code = (?P<status_code>-?\d+)", stdout)” 时不报错,就是挂起一直没返回。
wangliangkai
2010-09-16
打赏
举报
回复
这个可以调用接收返回超过4000字符, 不过还出现一个问题在用 re.search获取解析字符时stdout 超长,有没有其他方法处理这个re.search 查询的字符串超长问题。
p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
(stdout,stderr) = p.communicate()
re.search(r"Status code = (?P<status_code>-?\d+)", stdout)
谢谢!
wangliangkai
2010-09-13
打赏
举报
回复
buffer加大到了:1024*1024*1024 还是不行。
angel_su
2010-09-13
打赏
举报
回复
没效果的话估计大小就是系统默认的不能改,只是在设置buffer/unbuffer模式。
试试subprocess模块吧,用communicat()方法把缓冲读掉,不然程序输出塞饱stdout就卡住了...
iambic
2010-09-10
打赏
举报
回复
不太可能有这个限制吧……
angel_su
2010-09-10
打赏
举报
回复
os.popen3(cmd[, mode[, bufsize]]) 加大buffer试试。另外,这个函数已列为弃用,看看有关subprocess模块...
【
python
】
os
.system() &
os
.
popen
() 在
python
执行
cmd
指令
本文详细介绍了
Python
中
os
.system与
os
.
popen
的区别及应用。
os
.system用于执行系统命令并返回退出状态码,
os
.
popen
则返回命令的输出结果。文章还探讨了commands模块的使用,并列举了
os
.system
返回值
的含义。
浅谈
Python
3中subprocess.
Popen
与
os
.
popen
的区别
本文探讨了
Python
3中subprocess.
Popen
与
os
.
popen
的区别。
os
.
popen
是subprocess.
Popen
的简单封装,不支持对标准输入输出以外的内容处理,并在多线程调用时可能导致命令执行顺序混乱。而subprocess.
Popen
提供更灵活的控制,能确保命令执行顺序,但可能影响执行效率。
Python
os
.system执行多条语句,
os
.system的
返回值
以及与
os
.
popen
的区别
本文详细探讨了
Python
中
os
.system执行多条语句的问题,解释了为何连续执行如`
os
.system(
cmd
1)
os
.system(
cmd
2)`会导致路径问题,并提出了解决方案——使用`
cmd
=cd /d %s &&
python
setup.py install %
os
.path.dirname(file_path)`。同时,对比了
os
.system与
os
.
popen
的区别,
os
.system返回的是脚本的退出状态码,而
os
.
popen
返回的是脚本执行的输出内容。文章还讨论了
os
.system
返回值
的位移处理,以正确获取程序的退出状态,并提供了处理
返回值
的示例。
python
-执行
cmd
指令(
os
.system和
os
.
popen
)
本文介绍如何使用
Python
的
os
模块调用
CMD
命令,包括
os
.system和
os
.
popen
的区别与应用。通过示例代码展示如何检测ADB连接的设备,适用于自动化测试和设备管理。
Python
调用
cmd
本文介绍了三种在
Python
中调用
CMD
或Shell的方法:
os
.system,
os
.
popen
和subprocess.
Popen
。
os
.system虽简单但无法获取输出;
os
.
popen
能以字符串形式获取输出,操作简便;subprocess.
Popen
方法较复杂,其优势待补充说明。
脚本语言
37,738
社区成员
34,210
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章