设为首页 加入收藏

TOP

如何在Python中执行外部命令
2023-07-26 08:18:31 】 浏览:554
Tags:何在 Python

一个简单的Python示例


让我们创建第一个程序以列出当前目录中的所有可用文件。 您可以添加任意数量的以逗号(,)分隔的命令行参数。


#!/usr/bin/python3
import subprocess
subprocess.call(["ls", "-l"])


如何在Python中执行外部命令


import语句用于从Python标准库加载子流程模块


call是子流程模块的功能,用于执行外部命令


没有换行的Python打印


Python命令以新行输出“ \n”终止,您可以使用 end=”” 覆盖新行输出,这意味着下一个命令输出将在同一行上。 请参见以下示例。


#!/usr/bin/python3
 
import subprocess
 
print("\nToday is ", end="")
subprocess.call(["date","+%D"])


如何在Python中执行外部命令


具有Shell扩展功能的Python示例


默认的subprocess.call不使用shell扩展通配符或执行命令替换。 可以通过为shell参数传递True值来覆盖此设置。请记住,使用shell=True可能会因为执行有害的命令而造成系统的安全问题。


#!/usr/bin/python3
 
import subprocess
 
# 在不使用shell扩展的情况下执行命令
subprocess.call(['echo', 'Welcome $USER'])
 
# 使用Shell扩展执行命令
subprocess.call('echo Welcome $USER', shell=True)


如何在Python中执行外部命令


您可以在上面的输出中看到,第一个命令打印了一个变量名,因为它是在没有shell扩展的情况下执行的。 使用shell扩展执行的第二条命令获取USER环境变量的值。 另外,您可以看到整个命令现在作为字符串而不是作为字符串列表传递。


其他有用的Python示例


通过将长命令存储在变量中然后执行它,可以使脚本的可读性和美观性更高。


#!/usr/bin/python3
 
import subprocess
 
cmd = "grep -Re 'Fatal' /var/log/ > linuxidc.txt"
subprocess.call(cmd, shell=True)


如何在Python中执行外部命令


您还可以使用subprocess.getoutput将任何命令的输出存储到变量中。 如果生成任何错误消息,它也将存储。


#!/usr/bin/python3
 
import subprocess
 
print("The output of 'pwd' command is:", flush=True)
 
output = subprocess.getoutput('pwd')
print(output)


如何在Python中执行外部命令


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇深入理解Python中的列表推导式(L.. 下一篇设计模式之单例模式理解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目