bitcoin-abe代码," dotdot":" ../" *(env [' PATH_INFO']。count(' /') - 1)是什么意思?

时间:2014-06-05 03:38:38

标签: python bitcoin

我是初学者并阅读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,这是一个内置函数吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

运算符*与字符串和整数一起使用时,会重复该字符串。

   "a" * 20
=> 'aaaaaaaaaaaaaaaaaaaa'
  "ab" * 20
=> 'abababababababababababababababababababab'

声明

"dotdot": "../" * (env['PATH_INFO'].count('/') - 1),

dotdot分配给多个../。如果环境变量PATH_INFO中包含10 /,那么dotdot将分配给"../" * 9,等于"../../../../../../../../../"