Rub*_*ert 0 python replace python-2.7
我可以%s在Python 2.7中递归使用吗?我试过(Python新手提醒!)
spss.Submit('SAVE OUTFILE = "%s".')%os.path.join(wdir,"PrepareTableScript_%s.sav"%str(ver).zfill(2))
Run Code Online (Sandbox Code Playgroud)
所以在替换它的字符串中%s,还有另一个%s.我得到的错误是:
TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'
但局部变量ver并wdir正确打印出来.我是否收到此错误,因为我试图%s递归使用或者这个(尝试过的)代码出了别的问题?
你没有在这里递归使用任何东西,你只是嵌套表达式(这很好).
你的问题是你把第一个 %操作员留在了Submit()电话之外.您不是将它应用于字符串,而是应用于返回值,并Submit()返回None.将其移到括号内:
spss.Submit('SAVE OUTFILE = "%s".' %
os.path.join(wdir, "PrepareTableScript_%s.sav" % str(ver).zfill(2))
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |