使用Python中的Paramiko和Sub Process连接到SAS Compute并执行.sas文件

时间:2018-10-22 11:37:29

标签: python sas subprocess paramiko

我有一些使用SAS Windows客户端计算机上的Paramiko将SSH连接到SAS计算服务器的代码,并尝试执行从EG项目中导出的.sas代码:

import paramiko
import subprocess

COMP = "sas_comp_server_server"

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(COMP, username="", password="", allow_agent = False)

subprocess.call(['/data/sas/myserver/config/Lev1/SASApp/BatchServer/sasbatch.sh', '-sysin', '/data/myserver/myfolder/My SAS Job.sas', '-log', '/data/myserver/myfolder/My SAS Log.log'])

我知道我的登录成功了,因为我已经在另一个脚本中成功使用它完成了SFTP。我知道我的UNIX命令可以正常工作,就像我将其复制并粘贴到终端中一样,它可以成功运行我的代码。但是,当我按上述方式使用子流程时,出现以下错误:

Traceback (most recent call last):
  File "C:/Users/myuser/Documents/Python 3 Scripts/SSH Server Logon.py", line 13, in <module>
    subprocess.call(['/data/sas/myserver/config/Lev1/SASApp/BatchServer/sasbatch.sh', '-sysin', '/data/myserver/myfolder/My SAS Job.sas', '-log', '/data/myserver/myfolder/My SAS Log.log'])
  File "C:\saswkapps\python3\lib\subprocess.py", line 304, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\saswkapps\python3\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\saswkapps\python3\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

任何人都可以告知子流程调用有什么不正确吗?

谢谢

0 个答案:

没有答案
相关问题