我是初学者,正在阅读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,该值等于"../../../../../../../../../"

10-08 07:34