Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python33-SafeConfigParser放置不可见换行符,或不是有效的http.server输入_Python_Webserver_Newline_Configparser - Fatal编程技术网

Python33-SafeConfigParser放置不可见换行符,或不是有效的http.server输入

Python33-SafeConfigParser放置不可见换行符,或不是有效的http.server输入,python,webserver,newline,configparser,Python,Webserver,Newline,Configparser,我正在为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(

我正在为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\u类((地址,端口),处理程序)
给出以下错误:

    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
192.168.1.3
,但这也不起作用。 我该如何解决这个问题?其他答案说这是换行符的问题,但是打印
地址+端口
在这两个位置上都不显示换行符

我自己解决了这个问题

我认为SafeConfigParser将设置文件整体读取为字符串,即使在配置文件中放入整数。我所做的只是将行
address=“127.0.0.1”
更改为
address=127.0.0.1
,现在它就可以工作了。我仍然希望有人能给我一个解释,因为我不完全理解为什么会这样