我是初学者,正在阅读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在这里是什么意思?此文件中的许多其他地方也使用env,这是内置函数吗?非常感谢。
最佳答案
与字符串和整数一起使用时,运算符*
会重复该字符串。
"a" * 20
=> 'aaaaaaaaaaaaaaaaaaaa'
"ab" * 20
=> 'abababababababababababababababababababab'
该声明
"dotdot": "../" * (env['PATH_INFO'].count('/') - 1),
将
dotdot
分配给几个../
。如果环境变量PATH_INFO
中包含10个/
,则将dotdot
分配给"../" * 9
,该值等于"../../../../../../../../../"