什么';我的python代码中有什么错误?
有人能告诉我这段代码有什么问题吗:什么';我的python代码中有什么错误?,python,Python,有人能告诉我这段代码有什么问题吗: #!/usr/local/bin/python import os import string, sys a='sys.argv[1]' b='sys.argv[2]' os.system("scp a:/export/home/sample/backup.sql b:/home/rushi/abc.sql") 它给出了以下错误: ssh: a: node name or service name not known 第一行的第一个字符应该是#怎么了
#!/usr/local/bin/python
import os
import string, sys
a='sys.argv[1]'
b='sys.argv[2]'
os.system("scp a:/export/home/sample/backup.sql b:/home/rushi/abc.sql")
它给出了以下错误:
ssh: a: node name or service name not known
第一行的第一个字符应该是
#
怎么了:
a
和b
没有您想要的第二个和第三个值sys.argv
a
和b
与os.system
调用无关os.system
a=sys.argv[1]
,与b
相同.format
方法或类似的%
格式化字符串子流程
模块字符串
os.system("scp %s:/export/home/sample/backup.sql %s:/home/rushi/abc.sql" % (a, b))
这不是推荐的方法。您的代码应更改为此
a=sys.argv[1]
b=sys.argv[2]
因为现在您通过添加引号将sys.argv[1]视为字符串
您还希望执行以下操作:
os.system("scp %s:/export/home/sample/backup.sql %s:/home/rushi/abc.sql" % (a,b) )
这样你就可以把变量添加到你试图用os.system调用的字符串中,至少试着写英语,而不是说英语,好吗?此外,此代码有什么问题?你有错误吗?有些东西不起作用吗?代码应该怎么做?我写了上面的错误…你能不能检查一下这个错误..代码应该接受用户名和machinename作为命令行参数..例如root@10.45.34.33. 并在两个给定的命令行参数之间传输文件。是否要将用户名和计算机名作为参数传递到脚本中,并在它们之间传输文件(无论是什么)?这没有意义。它现在给出了以下错误:权限被拒绝(公钥、键盘交互)。失去连接您需要包括用户名和密码。我假设“a”在本地计算机上,“b”在远程计算机上。远程地址应该如下所示username@something.com:/home/rushi/abc.sql如果需要使用身份验证,则必须添加包含私钥的身份文件。输入“man scp”以获取该命令的文档,或在此处: