Web サーバー用のカスタム設定ファイルを作成しています。設定ファイルは次のようになります。
[server]
adress = "127.0.0.1"
port = 8080
これを解析するコード:
def main():
parser = SafeConfigParser()
parser.read("settings.cfg")
global adress, port
adress = parser.get("server", "adress")
port = int(float(parser.get("server", "port").rstrip()))
print(adress + str(port))
最後にコードを印刷すると、文字列が得られます: "127.0.0.1"8080
. どういうわけか、私の http.server サーバーはそれらを入力として受け入れません
httpd = server_class((adress, port), Handler)
が、次のエラーが発生します。
httpd = self.server_class((adress, port), Handler)
File "C:\Python33\lib\socketserver.py", line 430, in __init__
self.server_bind()
File "C:\Python33\lib\http\server.py", line 135, in server_bind
socketserver.TCPServer.server_bind(self)
File "C:\Python33\lib\socketserver.py", line 441, in server_bind
self.socket.bind(self.server_address)
socket.gaierror: [Errno 11004] getaddrinfo failed
入力を入力するだけ("127.0.0.1", 8080)
で機能しますが、構成ファイルから出力されるものとまったく同じです。localhost
また、構成ファイルでandを試し192.168.1.3
ましたが、どちらも機能しません。どうすればこれを修正できますか? 他の回答では、改行に問題があるとのことですが、印刷adress + port
しても改行は表示されません。