python-3.x - 将 Python3 转换为 Python2
问题描述
我正在尝试finviz
在 Python 2 的代码中使用包(为 python 3 编写)。导入时出现 SyntaxError:
values = f'tickers: {tuple(self._tickers)}\n' \
^
SyntaxError: invalid syntax
有问题的代码在库中如下所示:
def __repr__(self):
""" Returns a string representation of the parameter's values. """
values = f'tickers: {tuple(self._tickers)}\n' \
f'filters: {tuple(self._filters)}\n' \
f'rows: {self._rows}\n' \
f'order: {self._order}\n' \
f'signal: {self._signal}\n' \
f'table: {self._table}\n' \
f'table: {self._custom}'
return values
finviz
的 API 在这里,这部分在screener.py
解决方案
Python 的f 字符串直到 3.6 才引入。
使用类似语法插入字符串的 2.x 兼容方法是使用 str.format()。
s = '{greeting}, {place}!'.format(greeting='Hello', place='World')
print s
>>> 'Hello, World!'
或者,这就是您的示例中 str.format 的样子:
values = ('tickers: {tickers}\n'
'filters: {filters}\n'
'rows: {rows}\n'
'order: {order}\n'
'signal: {signal}\n'
'table: {table}\n'
'table: {custom}'
)
values.format(
tickers=tuple(self._tickers),
filters=tuple(self._filters),
rows=self._rows,
order=self._order,
signal=self._signal,
table=self._table,
custom=self._custom,
)
这是str.format()的文档
推荐阅读
- c# - 如何使用 Sustainsys.Saml2 设置 NLog
- bash - 如何使用shell脚本将html转换为pdf
- python - 使用 tkinter gui 更新数据
- python - 重命名 sqlite3 表列
- sccm - SCCM PXE not getting IP address
- javascript - 为什么我的代码不允许我在 js 中一起添加两个对象属性?
- flutter - How to design custom labels for flutter tabs using box decoration?
- javascript - Reactjs,如何构建特定的 json 以在每月之间添加金额
- excel - 复制并粘贴 activeX 按钮
- android - 为什么 Android 资源命名如此具体?