1

ccc我有一个让我发疯的python脚本。这是有问题的代码...... if 语句中的代码没有运行,有人可以提出原因吗?:

print("refresh_type is: " + refresh_type)

if (refresh_type == "update"):
    print("hello world")
    cmd = 'sudo svn %s --username %s --password %s  %s' % ('up', un, pw, working_path)
    print("command is: " + str(cmd))
elif(refresh_type == 'checkout' or refresh_type == 'co'):
    cmd = 'sudo svn %s --username %s --password %s  %s %s' % (refreshType, un, pw, rc_service_url, working_path)

print('username = ' + credentials['un'])
print('password = ' + credentials['pw'])
print("working path = " + working_path)

以下是打印语句的输出:

refresh_type is: 'update'
username = 'cccc'
password = 'vvvvv'
working path = '/home/ubuntu/workingcopy/rc_service'
4

1 回答 1

4

你的refresh_type价值不是 update,而是'update'。您的其余变量患有相同的疾病,它们将引号作为字符串 value 的一部分

print "refresh_type is:", repr(refresh_type)此用作诊断辅助。

你可以使用:

if refresh_type == "'update'":

但是您有一个更根本的问题,即您的字符串值中会出现额外的引号。

为了说明,一个简短的 Python 解释器会话:

>>> print 'update'
update
>>> print "'update'"
'update'
>>> "'update'" == 'update'
False
>>> foo = "'update'"
>>> print repr(foo)
"'update'"
于 2013-01-01T00:45:40.867 回答