Объединить числовую последовательность с математическим оператором без выполнения оператора - PullRequest
0 голосов
/ 28 февраля 2019

Я должен объединить этот DOI с документом "10.1145 / 3175684.3175695" в конце URL http://api.semanticscholar.org/v1/paper/.Но когда я пытаюсь это сделать, python объединяет разделенный результат.Есть ли способ сказать Python не обрабатывать символ / в середине 10.1145/3175684.3175695 как оператор деления.

id = 10.1145/3175684.3175695
url = '{}{}'.format("http://api.semanticscholar.org/v1/paper/",id)
# Make a get request with the parameters.
response = requests.get(url)
print(response.content)

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Проблема связана с тем, что вы не заключаете свой номер DOI в кавычки, чтобы сделать его строкой.Вы заметите, что базовый URL-адрес, представляющий собой строку, содержит косую черту, но не имеет той же проблемы.

У вас есть следующее:

doi = 10.1145/3175684.3175695

Какой Pythonинтерпретируется как математическое выражение, подобное этому:

doi = 10.1145 / 3175684.3175695

Вам необходимо заключить его в одинарные (или двойные) кавычки, чтобы сделать его строковым литералом:

doi = '10.1145/3175684.3175695'
base_url = 'http://api.semanticscholar.org/v1/paper/'
url = base_url + doi
0 голосов
/ 28 февраля 2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...