V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ipwx  ›  全部回复第 98 页 / 共 200 页
回复总数  4000
1 ... 94  95  96  97  98  99  100  101  102  103 ... 200  
2020-04-23 13:40:54 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
@sunzy 所以用 subprocess.Popen(..., stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 最最方便的选择。
2020-04-23 13:40:17 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
@sunzy stderr=subprocess.STDOUT

你这最大的问题就是这两句:

line = r.stdout.readline()
line2 = r.stderr.readline()

想象一下,如果被调用的程序只通过一个 stdout 输出,那么你在第二行就会一直 hang,直到程序退出。反过来,如果被调用的程序只通过 stderr 输出,那你的程序就会在第一行 hang,直到程序退出。所以无论什么时候,这两行这么写都是不对的。除非你开两个线程后台读取。
2020-04-23 10:54:33 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
PYTHONUNBUFFERED=1 这个环境变量能关掉这个机制。
2020-04-23 10:54:16 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
@sunzy 没啥特别的,Python 有个机制,检测输出设备是啥。如果不是交互式的 terminal,那么就会自动打开 python 自己的输出缓存。这和你调用 python 脚本的输入缓存无关,人家没有把数据推过来,你的调用者怎么做也是枉然。
2020-04-23 10:21:34 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
emmmm 重点是 env=env

另外如果是我的话,不会使用 shell=True,也不会设置 bufsize 。我的话会这样:

env = os.environ.copy()
env['PYTHONUNBUFFERED'] = '1'
subprocess.Popen([sys.executable, ...], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
2020-04-23 10:19:56 +08:00
回复了 sunzy 创建的主题 Python 使用 subprocess 执行另一个脚本,如何实时输出?
env = os.environ.copy()
env['PYTHONUNBUFFERED'] = '1'
subprocess.Popen("python3 ./test1.py", shell=True, bufsize=1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
2020-04-22 11:26:38 +08:00
回复了 sichuyoudang312 创建的主题 Python 关于 Python 后端验证参数 的界限
FastApi,你值得拥有
@FaiChou 比如上面提到的,离家还有一段距离打开空调,或者离家一段距离打开安防。这些功能确实需要知道你每个时刻的位置。你是不是每天都下班都能记得把应用给打开呢?安装师傅只是给最普通小白用户的通用建议而已。你要是懂,可以自己去改设置,并记得打开应用啊。
我记得智能家居的一个功能难道不是当你接近家(还没到家),就开始打开空调预热什么的么?还有其他类似功能大概或多或少也需要知道你的位置。不给定位权限怎么用这些功能?安装师傅的建议肯定是针对大众的,普通用户可能连什么是定位权限都不知道,当然遇到一个安装智能家居的用户,就提前让它设成总是允许呗。不然用户发现功能不能用,还要费老大劲儿上门服务。

换个角度,如果你用苹果手机,苹果的智能家居,是不是不需要同意什么权限,它自然就把数据给智能家居网关了?如果用小米手机,用小米的智能家居,是不是也是如此?只不过你用了苹果手机+小米智能家居,才注意到这一点而已。
- - - -

结论就是,这是用智能家居的必然操作。也别一惊一乍觉得别人图你的定位,小米和苹果还不一定看得上。还是你是通缉犯么。如果你实在在意这个,就一开始不要用智能家居。
2020-04-21 21:37:14 +08:00
回复了 keroppi 创建的主题 Docker 一个 dockerfile 构建两个语言
FROM xxx

RUN apt-get update && apt install python

搞定
2020-04-21 09:30:12 +08:00
回复了 rpish 创建的主题 黑魔法 WSL1 根本不是什么黑魔法 而是抄袭 Docker 而已吧
@rpish Docker 没有模拟另一个系统。Docker 用的是 Linux 内核的环境隔离功能,本身是内核功能的一部分。

如果这还不够,那么想一下:用 WSL1 模拟 Linux,WSL1 要把所有 Linux 的 API 通过 Windows 系统重写一遍,还要想办法欺骗所有 Linux 程序,让它们以为它们运行在 Linux 下,难度可想而知。但是 Docker 使用 Linux 的内核隔离,没有重写任何 API,就是调用了内核原有的功能,包装了一下而已。
2020-04-20 19:38:48 +08:00
回复了 leosirius666a 创建的主题 程序员 deepin 真实难用
@annielong 但是其实很多主流台式机的方案都能直接用来着。。。
2020-04-19 23:55:46 +08:00
回复了 leosirius666a 创建的主题 程序员 deepin 真实难用
.. 你可以买 deepin 适配的机型啊
2020-04-19 23:29:03 +08:00
回复了 jugelizi 创建的主题 问与答 如何简单的解释微信的开发维护成本是千万级的
@opengps 我觉得外行还真是不一定能理解。

不过无所谓,我觉得什么都不用解释,就直截了当的说,多少钱做多少数量级,然后在花多少钱升级到多少数量级。不用解释,就当这是商业策略呗。
2020-04-19 21:56:06 +08:00
回复了 jugelizi 创建的主题 问与答 如何简单的解释微信的开发维护成本是千万级的
按用户数量收费呗。你和用户谈好,几万做个多少用户量级的系统,用户量上去了,几十万做个多少量级的系统。再上去就就再议。这样子,用户几万就有了个现阶段能用的系统,几十万有个预期能升级的系统,会很开心的。

等他们真的到了用户量巨大规模以后,也自然知道该正儿八经成立公司专门干这个,不会再劳烦你了。你把现阶段的钱赚了,用户能发展到几十万都搞不定的用户量级,两边都获益,不是挺好。。
2020-04-19 21:10:56 +08:00
回复了 MainHanzo 创建的主题 Python Python yield 和 leetcode space optimization
itertools.izip_longest 是 python 2 的函数,python 3 叫做 itertools.zip_longest 。所以你说的这个版本的答案肯定是 python 2 。(这就尴尬了
2020-04-19 20:30:22 +08:00
回复了 mrtqiangqiang 创建的主题 宽带症候群 上海联通 9929 香到飞起
嗷原来是国内节点啊,我看 speedtest.net 还以为国外呢。
2020-04-19 20:27:05 +08:00
回复了 mrtqiangqiang 创建的主题 宽带症候群 上海联通 9929 香到飞起
@jameslucas 因为上海电信垃圾,国外任何网络都是 20kb/s
1 ... 94  95  96  97  98  99  100  101  102  103 ... 200  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 03:47 · PVG 11:47 · LAX 19:47 · JFK 22:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.