试图让python在终端中运行程序并输出到文件

试图让python在终端中运行程序并输出到文件,python,raspberry-pi3,Python,Raspberry Pi3,这是我到目前为止得到的 import os os.system("lxterminal --command='sudo netdiscover -p -PL >> /home/pi/data.txt'") 我遇到的问题是,当我执行此代码时,它不会像我将其放入终端窗口那样写入文件。相反,它会打开两个终端窗口,一个名为sh的窗口显示代码执行没有问题,然后是另一个名为data.txt的窗口,它什么也不做。删除sudo之前和txt之后的单引号会将其写入文件,但只是告诉我如何在LX终端上使

这是我到目前为止得到的

import os
os.system("lxterminal --command='sudo netdiscover -p -PL >> 
/home/pi/data.txt'")
我遇到的问题是,当我执行此代码时,它不会像我将其放入终端窗口那样写入文件。相反,它会打开两个终端窗口,一个名为sh的窗口显示代码执行没有问题,然后是另一个名为data.txt的窗口,它什么也不做。删除sudo之前和txt之后的单引号会将其写入文件,但只是告诉我如何在LX终端上使用命令。如何将其写出并附加到文件(称为anything,不必是data.txt)?

导入子流程
subprocess.Popen(args=[“xterm”、“-e”、“/bin/echo hi>>/home/user/data.txt”],shell=True)

不要使用
os.system
它很旧,有时无法满足您的需要。尝试改用
subprocess.popen
。所有这些都不需要终端。只需在子进程中运行命令本身。@MustacheMoses,感谢您告诉我有关
子进程的信息。popen
和@tripleee感谢您向我展示它不需要在终端窗口中工作,谢谢你们!我不得不玩了一点,但最终它工作得很好,非常感谢你,我感谢你的帮助!