Python中如何进行命令行操作?代码举例讲解

在Python中,我们可以使用以下模块进行命令行操作:

1. sys模块:

  • sys模块可以获取命令行参数和执行Python脚本。
  • 我们可以通过sys.argv获取命令行参数。
    例如:
import sys

print(sys.argv)  # ['test.py', 'foo', 'bar']

如果我们在命令行运行python test.py foo bar,则sys.argv为上述列表。

2. argparse模块:

  • argparse模块可以用于解析命令行参数。
  • 我们可以定义参数及其选项,并根据用户输入进行解析。
    例如:
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--foo', help='foo help') 
parser.add_argument('bar', help='bar help')
args = parser.parse_args()

print(args.foo)
print(args.bar)

如果我们运行python test.py --foo value bar_value,则可以获取解析后的参数。

3. subprocess模块:

  • subprocess模块可以用于执行外部命令行命令。
  • 我们可以通过subprocess模块在Python代码中运行Shell命令。
    例如:
import subprocess

subprocess.run(['ls', '-l'])   # 列出目录内容

result = subprocess.run(['echo', 'hello'], stdout=subprocess.PIPE)
print(result.stdout.decode())  # hello

这可以在Python中执行’ls -l’和’echo hello’等命令。

命令行操作的能力对一个Python工程师来说是非常有用的。熟练掌握sys.argparse和subprocess模块,可以让我们的Python程序直接与系统命令行产生交互,实现更强大的功能。