Python如何从文件中读取字符串并插入URL

时间:2016-12-12 17:32:18

标签: python command-line raspberry-pi

我正在尝试在没有GUI的Raspberry-Pi上创建API调用。 URL必须具有用户特定的凭据,这些凭据不会更改,因此我尝试写入,然后从文件读取并插入URL的正确部分。

到目前为止

WIP代码:

#!/usr/bin/python

system_id = raw_input("What is your Enphase System ID: ")
user_id = raw_input ("What is your Enphase User ID: ")

f1 = open ("enphase_system_id.txt", 'w+')
value1 = (system_id)
s1 = str (value1)
f1.write(s1)

f2 = open("enphase_user_id.txt", 'w+')
value2 = (user_id)
s2 = str (value2)
f2.write(s2)

url = ("https://api.enphaseenergy.com/api/v2/systems/"
       +f1.read()+
       "/summary?key=6ba121cb00bcdafe7035d57fe623cf1c&usf1c&usf1c&user_id="
       +f2.read())

print url

f1.close()
f2.close()

from urllib2 import urlopen

inverter = urlopen(url)

response = inverter.read()
body = response

print body

问题是URL连接时没有读取字符串:

https://api.enphaseenergy.com/api/v2/systems//summary?key=6ba121cb00bcdafe7035d57fe623cf1c&usf1c&usf1c&user_id=

今天是我用任何语言编程的第一天,非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

写完之后你还没有关闭文件(准确地说,你把它们关闭得太晚了)。这是第一件事。接下来,您需要在关闭它们之后打开这些文件以便阅读它们。此外,您可以简单地执行:

f1.write(value1)
f2.write(value2)

而不是

value1 = (system_id)
s1 = str (value1)
f1.write(s1)

value2 = (user_id)
s2 = str (value2)
f2.write(s2)