首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python subprocess.Popen不能与烧瓶一起使用

Python subprocess.Popen不能与烧瓶一起使用
EN

Stack Overflow用户
提问于 2020-09-06 21:23:05
回答 1查看 106关注 0票数 0

我以root用户身份运行以下脚本:

代码语言:javascript
运行
复制
import subprocess
proc = subprocess.Popen(['chpasswd'], stdin=subprocess.PIPE)
proc.stdin.write("username:password")
print("Password updated")

虽然该脚本是以root用户身份运行的,但它仍按预期工作。

但是,当我尝试在flask下运行它时,它输出"Password updated",但它实际上并没有更新密码。可能的原因是什么,以及如何使其工作?

代码语言:javascript
运行
复制
...
@app.route('/')
def some_path():
    if condition:
        proc = subprocess.Popen(['chpasswd'], stdin=subprocess.PIPE)
        proc.stdin.write("username:password")
        print("Password updated")
...
EN

回答 1

Stack Overflow用户

发布于 2020-09-06 22:36:27

参考this answer,用proc.communicate(b"username:password")替换proc.stdin.write("username:password")解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63764630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档