在Python2.7中,如何使用带有变量filename的scp?

在Python2.7中,如何使用带有变量filename的scp?,python,python-2.7,Python,Python 2.7,我用Python2.7编写了以下代码行。我正在使用centos6作为操作系统。 现在我对python还不熟悉&试图学习它 以下代码行将/2013_06_02文件夹中的所有特定文件(即包含字母“R”)从远程机器192.168.13.152复制到我的本地机器(tony是我在本地机器上的用户名;john是我在远程机器上的用户名) 此操作有效。(此代码行询问密码)。我在本地机器上的/data目录中获取特定文件 现在问题部分: 实际上,我在远程机器上有许多文件夹,每个文件夹都包含许多文件名,文件名中包含字

我用Python2.7编写了以下代码行。我正在使用centos6作为操作系统。 现在我对python还不熟悉&试图学习它

以下代码行将/2013_06_02文件夹中的所有特定文件(即包含字母“R”)从远程机器192.168.13.152复制到我的本地机器(tony是我在本地机器上的用户名;john是我在远程机器上的用户名)

此操作有效。(此代码行询问密码)。我在本地机器上的/data目录中获取特定文件

现在问题部分: 实际上,我在远程机器上有许多文件夹,每个文件夹都包含许多文件名,文件名中包含字母“R”。此外,每个文件名都以一些数字开头,如上面示例中的11。 现在我想改变文件夹名称,同时改变文件名前面的编号

我试过这个:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/date/mynum_RBPLJ1635+3808*R* /home/tony/data/")
但我有一个错误:

SyntaxError: EOL while scanning string literal
我也试过这样做:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/"date"/"mynum"_RBPLJ1635+3808*R* /home/tony/data/")
但这并不奏效

简而言之,我必须使文件夹名和文件号成为scp命令中使用的两个变量,以便代码将自动复制过程;i、 e.我不必每次都手动更改文件名中的文件夹名称和编号

我知道,每次我必须输入密码到远程机器,如果上面的代码行工作。但我现在不在乎。首先,我想让上面的代码线进入工作状态。然后我想看看我如何在每次都不输入密码的情况下完成上述工作

我们将非常感谢您的帮助。 提前感谢。

用于传递变量:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date,mynum))
使用:

os.system(“scpjohn@192.168.13.152:/home/john/“date”/“mynum”_RBPLJ1635+3808*R*/home/tony/data/”
双引号内有双引号,在python中既不是有效语法,也不是传入变量的双引号。

用于传入变量:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date,mynum))
使用:

os.system(“scpjohn@192.168.13.152:/home/john/“date”/“mynum”_RBPLJ1635+3808*R*/home/tony/data/”
双引号内有双引号,在python中既不是有效语法,也不是传入变量的双引号。

用于传入变量:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date,mynum))
使用:

os.system(“scpjohn@192.168.13.152:/home/john/“date”/“mynum”_RBPLJ1635+3808*R*/home/tony/data/”
双引号内有双引号,在python中既不是有效语法,也不是传入变量的双引号。

用于传入变量:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date,mynum))
使用:

os.system(“scpjohn@192.168.13.152:/home/john/“date”/“mynum”\u RBPLJ1635+3808*R*/home/tony/data/”
双引号中包含双引号,在python中既不是有效语法,也不是传递变量的双引号。

使用字符串格式

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date, mynum))
我建议你看一看。这对这类事情很有用。

使用字符串格式

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date, mynum))
我建议你看一看。这对这类事情很有用。

使用字符串格式

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date, mynum))
我建议你看一看。这对这类事情很有用。

使用字符串格式

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/{}/{}_RBPLJ1635+3808*R* /home/tony/data/".format(date, mynum))

我建议你看一看。这对这类事情很好。

另一种跑步方式是:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R* /home/tony/data/" %(date, mynum))

另一种运行方式是:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R* /home/tony/data/" %(date, mynum))

另一种运行方式是:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R* /home/tony/data/" %(date, mynum))

另一种运行方式是:

date = "2013_10_05"
mynum = "11"
os.system("scp john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R* /home/tony/data/" %(date, mynum))


:我得到的错误是:AttributeError:'int'对象没有属性'format'AttributeError:'int'对象没有属性'format',如果您的
.format
在上一个os.system参数之外,则它将不起作用。把代码准确地复制到Padraic:是的。它工作得很好。对不起,这是我的错。非常感谢。我得到了一个错误:AttributeError:'int'对象没有属性'format'AttributeError:'int'对象没有属性'format'。如果您的
.format
在上一个os.system参数之外,那么它将不起作用。把代码准确地复制到Padraic:是的。它工作得很好。对不起,这是我的错。非常感谢。我得到了一个错误:AttributeError:'int'对象没有属性'format'AttributeError:'int'对象没有属性'format'。如果您的
.format
在上一个os.system参数之外,那么它将不起作用。把代码准确地复制到Padraic:是的。它工作得很好。对不起,这是我的错。非常感谢。我得到了一个错误:AttributeError:'int'对象没有属性'format'AttributeError:'int'对象没有属性'format'。如果您的
.format
在上一个os.system参数之外,那么它将不起作用。把代码准确地复制到Padraic:是的。它工作得很好。对不起,这是我的错。非常感谢。我得到TypeError:不支持%的操作数类型:'int'和'tuple'@kvivekTo Kvivek:现在可以工作了。我弄错了。非常感谢。这是
cmdStr=“scp”吗john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R*/home/tony/data/“%(日期,mynum)
正在工作?我得到类型错误:不支持的%操作数类型:'int'和'tuple'@kvivekTo Kvivek:现在可以工作了。我弄错了。非常感谢。这是
cmdStr=“scp”吗john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R*/home/tony/data/“%(日期,mynum)
正在工作?我得到类型错误:不支持的%操作数类型:'int'和'tuple'@kvivekTo Kvivek:现在可以工作了。我弄错了。非常感谢。这是
cmdStr=“scp”吗john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R*/home/tony/data/“%(日期,mynum)
正在工作?我得到类型错误:不支持的%操作数类型:'int'和'tuple'@kvivekTo Kvivek:现在可以工作了。我弄错了。非常感谢。这是
cmdStr=“scp”吗john@192.168.13.152:/home/john/%s/%s_RBPLJ1635+3808*R*/home/tony/data/“%(日期,mynum)
工作吗?