Python调用Linux系统命令,也就是Python与Linux系统交互,要么需要使用os库,要么需要使用subprocess库(command 库 在python3 已经不再支持)。
具体使用参照连接,Python调用执行Linux系统命令(四种方法)
需要解决的问题:
在实际使用过程中,脚本文件 和 工作文件在不同的目录中,需要对工作目录进行切换。
第一反应是调用 cd 命令,然后在执行自己的命令:
val = os.system(‘cd /home/kali’)
在执行自己的命令是,报错,无法找到文件。
原因:通过查阅了解到,任何进程都不能改变另一个进程的工作目录(至less在类UNIX的操作系统上,而在Windows上),这个调用将会使子shell改变其目录并立即退出
解决方法:
subprocess
模块中的其他方法都有一个cwd
参数。此参数确定要执行进程的工作目录。
ret = subprocess.run(‘ls’, shell=True, cwd=‘/home/kali’)