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



我的要求是-

我有一组用";commands.ftp";文件,以上传";request.txt";文件到FTP服务器。我想从我的python文件中调用命令提示符,并在";commands.ftp";一个接一个地归档。一旦所有命令都成功执行,我需要在我的python文件中输出。假设文件上传成功或出现任何错误。

我看到了许多建议使用子流程的答案。但我并没有得到确切的答案来使用这个。

命令.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

上面的代码是将一个文件上传到Mainframe 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";命令。

最新更新