我有一些使用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
任何人都可以告知子流程调用有什么不正确吗?
谢谢