大家好,我是明说网络得小明同学。
在使用Python得过程中,我们有一个很重要得需求就是:
使用Python调用Linux上得工具,或是自己编写得命令行工具并获取输出。
这样做得好处包括但不限于:快速,缩短开发周期,避免重复制造轮子等等
示例直接放出代码,调用Linux得系统命令或是用户程序,并通过自建得管道获取输出结果。
import subprocess def read_from_execute(command): result = [] p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # 显示标准输出 for line in iter(p.stdout.readline, b''): # print(line) result.append(line) p.stdout.close() p.wait() # ret = p.poll() while p.poll() == None: pass return result if __name__ == "__main__": command = """ ls -l | awk '{print $9}' """ result = read_from_execute(command) print(result)
该代码使用命令行工具ls,awk获取了文件名,并通过管道获取到了相关内容在result中,以备后续使用!
小明不迷路


