【发布时间】:2020-01-08 19:54:32
【问题描述】:
我有一个带有 IP 的文件。我需要检查每个条目并将它们写入 json 对象。我的 JSON 对象将 "ip": "x.x.x.x", "subnet": "y" 和 action 作为参数。 IP 和子网值写入文件中。最后,我使用 curl 通过 API 调用来修补这些 JSON 对象。关于如何实现这一目标的任何想法?
示例输入文件是:
1.1.1.1/24 2.2.2.2/16等
我已经走到这一步了..
import os
import requests
import urllib3
# check if size of file is 0
if os.stat("ip.txt").st_size == 0:
print('File is empty')
else:
print('File is not empty')
url = 'https://api.server.com/service/6sxyz/acl/5xUrx/entries'
payload = open("request.json")
head = {'content-type': 'application/json', 'X-Key': 'xxxx'}
with open('ip.txt', 'r') as f:
for line in f:
for word in line.split():
if(len(word)>2):
ip=word
else:
subnet=word
print(subnet)
data = {'op': 'create', 'ip': ip,'subnet': subnet}
r = requests.patch(url, data, headers=head)
我收到此错误。
Traceback (most recent call last):
File "ip_curl.py", line 13, in <module>
payload = open("request.json")
IOError: [Errno 2] No such file or directory: 'request.json'
有什么建议吗?
【问题讨论】:
-
您能提供一个输入和所需的输出文件吗?
-
对我如何实现这一点有任何想法吗? 是的,尝试自己做,如果遇到特定技术问题再回来。在那之前,这太宽泛/模糊了。
-
感谢您的评论。真的很有帮助。
-
删除出现错误的行,然后重试。你的代码中没有其他东西依赖它:-D
-
request.json是干什么用的?你根本没有使用它。问题是文件不存在,open('request.json')试图打开文件进行读取,而不是写入,因此出现错误,因为文件不存在。如果你想在文件中写一些东西,你必须使用open('request.json', mode='w')。但是,正如前面的评论者指出的那样,您根本没有将文件用于任何事情,所以您不妨放弃它。
标签: python json for-loop curl patch