Python os.system中的错误答案 `RTNETLINK answers: No such file or directory`

2024-09-18 14:35:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将bash脚本移植到python。bash脚本运行tc命令来模拟慢速网络,main位如下所示:

tc class add dev wlp1s0 parent 1:1 classid 1:12 htb rate 0.5mbps &&
tc qdisc add dev wlp1s0 parent 1:12 netem delay 300ms loss 2%

脚本“just”以sudo的形式运行。在

python中完全相同的行失败了,它们看起来像这样:

^{pr2}$

在类似的问题中,人们建议缺少一个内核模块,我发现这种情况是不同的,因为tc命令在终端上运行时工作得很好。python本身似乎缺少一些能够正常运行它的东西。 欢迎任何建议或链接。谢谢!在

更新:

在阅读了更多的内容和注释中的一个指针之后,我现在更新了脚本以使用subprocess.call()。这本应替换os.system调用,但不会对手头的问题造成任何更改。在

>>> import subprocess
>>> subprocess.call("tc class add dev wlp1s0 parent 1:1 classid 1:12 htb rate 1.2mbit", shell=True)
RTNETLINK answers: No such file or directory
2

Tags: dev命令脚本bashaddratecall建议
1条回答
网友
1楼 · 发布于 2024-09-18 14:35:00

tc不能与sudo一起正常工作,您应该使用python作为根用户运行另一个python文件

主文件

import os
os.system("sudo python otherScript.py")

在其他脚本.py在

^{pr2}$

相关问题 更多 >