python - 如何避免换行编码?
问题描述
我正在创建一个循环来发送从 txt 文件中获取数据的 HTTP 请求,但在变量中我得到一个我不知道如何删除的换行符:
import requests
file = open("uuids.txt", "r")
for uuid in file:
url = 'http://ip:port/api/assets/changeAssetTemplates/{}'.format(uuid)
headers = {
...
}
print(url)
response = requests.request("GET", url, headers=headers)
print(response.text)
第一张印刷品描绘了这一点:
http://ip:port/api/assets/changeAssetTemplates/f4c71dd5-13af-428a-a3a5-4cbaf10d9bd3
一个很好的网址。但是第二个打印显示了请求中的错误:
{"timestamp":1563971402621,"status":404,"error":"Not Found","message":"No message available","path":"/api/assets/changeAssetTemplates/f4c71dd5-13af-428a-a3a5-4cbaf10d9bd3%0A"}
我们可以看到从 uuid 变量中获取的数据正在换行(%0A),我想知道如何避免这个问题。
顺便说一下uuids.txt的例子:
f4c71dd5-13af-428a-a3a5-4cbaf10d9bd3
1a71d6dc-a9b3-43fa-b675-747af9d7c202
2465ea64-3334-44b1-8f23-16e4df3aeea1
2fb98bba-d03d-495a-b5a2-9656bf623854
7a2aca40-dc5c-4aec-b700-7d0a91d39dd8
983ce44b-ab24-49bb-b128-8a30712dc2ca
2487e2ed-bff5-4195-ab5e-875210e634b0
965c62da-7c7a-4bf3-a0b8-de60d9b392dd
8b9bcf8c-0163-48cc-8603-3447ab7f29f6
0a7a5db9-67be-4a2a-af58-0189565caa2d
解决方案
只需像这样从 uuid 中删除换行符:
for uuid in file:
url = 'http://ip:port/api/assets/changeAssetTemplates/{}'.format(uuid.replace('\n',''))
headers = {
...
}
print(url)
response = requests.request("GET", url, headers=headers)
print(response.text)
如果您在 Windows 上,请小心,换行符可能'\r\n'
不是'\n'
;
推荐阅读
- java - 为什么我的结果集会出现错误?
- reactjs - React 组件组合的正确或有效方法是什么?
- php - 我如何在 laravel 中使用多个数据库,比如一组一个数据库?
- android - Android ConnectivityManager onAvailable 有时未返回
- node.js - 我们如何在一个项目中同时使用“扩展”真或假
- java - 如何修复 Fortify Path Manipulation (Input Validation and Representation, Data Flow) 漏洞
- postgresql - 我在两列(楼层ID和票证)的弹簧启动服务中制作了复合键
- sql-server - 如何避免在 Powershell 中使用 SMO 对象的系统数据库?
- c# - 如何使用 c# 生成 UUID 版本 4
- join - 如何加入同一表中存在的列