socket.gaierror: [Errno 8] nodename 或 servname 提供,或未知

St4*_*b0y 3 ftp ftplib configparser python-2.7

我正在尝试在运行 OS X Yosemite (10.10.5) 的 Mac 上使用以下 Python 脚本连接到我的 ftp 服务器:

from ftplib import FTP
import ConfigParser

config_file = "ftp.config"
config = ConfigParser.ConfigParser()
try:
    config.read(config_file)
except:
    raise Exception("Failed reading {} file.").format(config_file)

server_address  = config.get("main", "server")
user_name = config.get("main", "user_name")
password  = config.get("main", "password")

ftp = FTP(server_address)
ftp.login(user_name, password)
print "Logging in as '{}'".format(user_name)
Run Code Online (Sandbox Code Playgroud)

该脚本从文件“ftp.config”中获取服务器信息,内容如下:

[main]
enable      =   1
server      =   "my.ftp.address"
user_name   =   "some_user_name"
password    =   "some_password"
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,出现以下错误:

Traceback (most recent call last):  
    File "ftp2.py", line 34, in <module>
        ftp = FTP(server_address)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", line 120, in __init__
        self.connect(host)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", line 135, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 557, in create_connection
        for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
    socket.gaierror: [Errno 8] nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会发生错误。我已经尝试过.split()“.config”文件中的字符串,以删除多余的行,但这似乎没有帮助。

有什么想法吗,伙计们?

谢谢。

ble*_*fly 6

删除配置文件中的引号

[main]
enable      =   1
server      =   my.ftp.address
user_name   =   some_user_name
password    =   some_password
Run Code Online (Sandbox Code Playgroud)