在python中/运算符在以下代码中做什么

时间:2018-10-09 03:37:56

标签: python

我运行了以下代码,没有错误

def setup_static_routes(app):
    app.router.add_static('/static/',
                          path=PROJECT_ROOT / 'static',
                          name='static')

但如果我运行

PROJECT_ROOT="a"
path=PROJECT_ROOT / 'static'

我遇到以下错误

Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    path=PROJECT_ROOT / 'static'
TypeError: unsupported operand type(s) for /: 'str' and 'str'

第一个示例中的/运算符在做什么时不会抛出错误

https://docs.aiohttp.org/en/v3.0.1/tutorial.html上找到的

代码

1 个答案:

答案 0 :(得分:5)

该脚本可能假设类型为Path的变量,在这种情况下,/被定义为路径串联。试试这个:

from pathlib import Path
PROJECT_ROOT = Path("a")
path=PROJECT_ROOT / 'static'