python - 在从 crontab 调用的 python 脚本中执行 bash 命令
问题描述
我正在编写一个 python 脚本,我想从 crontab 调用。它脚本调用xrandr
命令并将其输出保存在一个变量中,如下所示:
output = subprocess.run('xrandr', shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8')
我希望将输出xrandr
保存在一个字符串中。如果我从终端执行它,这一切正常,但如果我使用 cron 运行它,变量output
保持为空。其余代码正常执行,所以 cron 不是问题。那么如何才能使这个命令正确执行呢?谢谢你的建议。
解决方案
你想存储输出,可以用communicate()
here来帮忙,像这样:
from subprocess import PIPE
output = subprocess.run('xrandr', shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8')
text = output.communicate()[0]
print(text)
或者也许是这个,在这种情况下,您可以删除.stdout.decode('utf-8')
不太确定但它可以在有和没有它的情况下进行拍摄:
from subprocess import PIPE
output = subprocess.run('xrandr', shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8')
print(output.stdout)
推荐阅读
- spring - Spring Cache:根据条件强制更新缓存
- neo4j - Cypher - 如何获取重复 (a)-[:REL1]->(b)-[:REL2]->(c) 链中的所有节点
- python - Python pandas drop_duplicates 插入不必要的 " 导致 csv 加载错误
- python - 如何在 python 中使用负索引/输入创建查找表?
- android - 从 Intent.ACTION_CREATE_DOCUMENT Uri 创建数据库
- javascript - 在 Firebase 中,是否可以在不指定孩子值的情况下读取孩子的数据?
- lazarus - 在处理 Lazarus 中的项目后调整 TListview 中选定项目的颜色
- asp.net - 通过作为 SPA 子域的 Asp.net Web Api 设置 cookie
- r - 如何计算R中列表的笛卡尔幂
- google-data-studio - Google Data Studio 连接器 - “您的应用未经验证”,但 OAuth 连接器是?