如何使用python通过命令提示符运行外部文件中的命令?

问题描述

我的要求是 -

我在“commands.ftp”文件中编写了一组命令,用于将“request.txt”文件上传到 FTP 服务器。 我想从我的python文件调用命令提示符并一一运行“commands.ftp”文件中的命令。 成功执行所有命令后,我需要在我的 python 文件输出。 假设文件上传成功或者出现任何错误

我看到很多建议使用子流程的答案。但我没有得到使用它的确切答案。

command.ftp

ftp
open hostname.com
usename
password    
quote site recfm=fb lrecl=750 blocksize=27750 cyl pri=120 sec=60
put "File_Name.txt"
QUIT

以上代码上传文件到大型机CMS。 我能够成功上传文件。 但是上传文件后,我们将收到如何捕获的响应。我无法捕获输出响应。

下面是我编写的用于执行 command.ftp 文件代码

from subprocess import Popen,PIPE

commands = open('local.ftp','r').read()

process = Popen("cmd.exe",shell=False,universal_newlines=True,stdin=PIPE,stdout=PIPE,stderr=PIPE)
out = process.communicate(commands)
print(out)

这里的 out 变量没有给出输出

解决方法

Python 内置了 FTP 模块 (import ftplib)。这比尝试将命令传递到命令行“ftp”命令要聪明得多。例如,Windows 的框中根本没有包含“ftp”命令。