我是初学者并阅读ABE的代码,可在此处找到https://github.com/bitcoin-abe/bitcoin-abe。 在abe.py中,有这样的代码:
page = {
"title": [escape(ABE_APPNAME), " ", ABE_VERSION],
"body": [],
"env": env,
"params": {},
"dotdot": "../" * (env['PATH_INFO'].count('/') - 1),
"start_response": start_response,
"content_type": str(abe.template_vars['CONTENT_TYPE']),
"template": abe.template,
"chain": None,
}
这里有什么意思?这个文件中的许多其他地方也使用env,这是一个内置函数吗?非常感谢。
答案 0 :(得分:1)
运算符*
与字符串和整数一起使用时,会重复该字符串。
"a" * 20
=> 'aaaaaaaaaaaaaaaaaaaa'
"ab" * 20
=> 'abababababababababababababababababababab'
声明
"dotdot": "../" * (env['PATH_INFO'].count('/') - 1),
将dotdot
分配给多个../
。如果环境变量PATH_INFO
中包含10 /
,那么dotdot
将分配给"../" * 9
,等于"../../../../../../../../../"