您的位置:

利用终端执行Python脚本

一、从终端执行Python文件

Python脚本可以在任何文本编辑器中编写,但是要想运行脚本则需要通过终端或命令提示符进行操作。在终端中,可以通过输入命令“python 文件名.py”来运行Python脚本。

下面是一个简单的Python脚本示例:

my_name = "Peter"
print("My name is " + my_name)

保存上述代码为“test.py”,在终端中执行命令“python test.py”即可看到输出结果。

二、Windows用终端执行Python文件

在Windows系统中,可以通过以下步骤在终端中执行Python文件:

1. 按下“Win + R”组合键打开“运行”窗口;

2. 输入“cmd”并按下回车键打开命令提示符;

3. 使用“cd”命令切换到Python脚本所在的目录;

4. 输入“python 文件名.py”即可执行Python脚本。

三、在Python脚本中执行终端命令

除了在终端中执行Python脚本外,Python脚本本身也可以使用内置的“subprocess”模块来执行终端命令。

下面是一个简单的Python脚本示例,可以通过执行终端命令来获取当前用户目录下的文件列表:

import subprocess

def get_file_list():
    command = 'dir C:\\Users\\%USERNAME%\\'
    output = subprocess.check_output(command, shell=True)
    print(output.decode('cp936'))

get_file_list()

上述代码中,首先导入了“subprocess”模块,然后定义了一个名为“get_file_list”的函数。该函数中使用“subprocess.check_output()”函数执行了一个名为“dir”的终端命令,并将执行结果输出到了控制台。

需要注意的是,在Windows系统中,“dir”命令使用的是“cp936”编码,因此需要使用“decode”函数将命令执行结果进行解码,才能正常输出中文字符。

四、在Python脚本中读取终端命令输出

除了在控制台中直接输出终端命令执行结果外,Python脚本还可以通过“subprocess”模块读取终端命令的输出结果,以便对输出结果进行进一步处理。

下面是一个读取终端命令输出结果的示例:

import subprocess

def get_output(command):
    output = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
    return output.communicate()[0].decode('utf-8')

result = get_output('ipconfig')
print(result)

上述代码中,定义了一个名为“get_output”的函数,该函数可以接收一个终端命令参数,并返回该命令的输出结果。在函数中,使用“Popen”函数打开一个终端进程,并将输出结果重定向到“stdout”对象中。然后,使用“communicate()”函数读取输出结果,并将字节码解码为UTF-8格式的字符串。

最后,调用“get_output”函数并将“ipconfig”命令作为参数传入,就可以获取该命令的输出结果并进行进一步处理了。