Как передать python переменных в таблицу уценок? - PullRequest
0 голосов
/ 26 января 2020

Мой python код:

#!/usr/bin/python
from markdown import markdown

fish='salmon'
print fish

s = """
| Type  | Value |
| ------------- | -------------|
| Fish   |  {{fish}} |
"""
html = markdown(s, extensions=['tables'])
print(html)

Однако fi sh в таблице не заменяется лососем. Я пробовал цитаты, одиночные кавычки и т. Д. c.

Некоторые обсуждения, похоже, подразумевают, что мне нужно установить еще несколько расширений, которые я пробовал случайно.

Думаю, мне не хватает чистого способа решить эту проблему с помощью шагов.

1 Ответ

1 голос
/ 26 января 2020

Вы можете просто использовать f-strings следующим образом:

hello = "Hey"
world = "Earth"

test = f"""{hello} {world}"""

print(test)

вывод:

Hey Earth

Просто добавьте f перед строкой, и используйте фигурные скобки ({python-code}) для вставки кода Python в строку (в приведенном выше примере две переменные с именами hello и world соответственно).


Используя ваш код в качестве примера:

from markdown import markdown

fish = "salmon"

s = f"""
| Type  | Value |
| ------------- | -------------|
| Fish   |  {fish} |
"""
html = markdown(s, extensions=["tables"])
print(html)

Выходы:

<table>
<thead>
<tr>
<th>Type</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Fish</td>
<td>salmon</td>
</tr>
</tbody>
</table>

Если вы используете Python 2.7, вы можете используйте функцию str.format():

from markdown import markdown

fish = "salmon"

s = """
| Type  | Value |
| ------------- | -------------|
| Fish   |  {} |
""".format(fish)

html = markdown(s, extensions=["tables"])
print(html)
...