我想学习一点关于pexpect:特别是我试图从我的笔记本电脑复制文件到远程服务器。 我遇到一个奇怪的行为:或多或少相同的代码工作,如果我一行一行写,但它不会如果我作为脚本运行它。 这是我写的行由行:scp到远程服务器使用pexpect
child = pexpect.spawn('scp pathdir/file.ext [email protected]:pathdir')
r=child.expect ('assword:')
r
返回0,我完成这项工作与密码
child.sendline ('password')
当我做ssh来,我发现我的文件中有服务器。所以我收集了一个脚本中的所有步骤;它退出没有错误,但它没有被复制的文件...为什么?但更重要的是,我该如何解决这个问题?
下面是脚本:
child = pexpect.spawn('scp pathdir/file.ext [email protected]:pathdir')
r=child.expect ('assword:')
print r
if r==0:
child.sendline ('password')
child.close()
我不知道Pexpect的是如何工作的,所以我印记R,以确保它是0。它是。
你是否从'file.ext'所在的文件夹开始脚本? – njzk2
是:脚本和file.ext位于同一目录中。然而,这个问题需要编辑:file.ext以其完整路径给出。 – user2988577
遇到同样的问题。你现在解决了吗? – laike9m