直接pip install py3fdfs安装,安装完以后使用:
from fdfs_client.client import *
client = Fdfs_client('/etc/fdfs/client.conf')
然后给你来个异常,TypeError: type object argument after ** must be a mapping, not str,这一看就是传入参数不对,要传一个字典吧估计,Fdfs_client里的构造函数是这样的
def __init__(self, trackers, poolclass=ConnectionPool):
self.trackers = trackers
self.tracker_pool = poolclass(**self.trackers)
self.timeout = self.trackers['timeout']
return None
trackers里发现一个[‘timeout’],看来是要传入这么个key,继续找ConnectionPool
def __init__(self, **conn_kwargs):
self.pid = os.getpid()
self.host_tuple = conn_kwargs['host_tuple']
self.remote_port = conn_kwargs['port']
self.remote_addr = None
self.timeout = conn_kwargs['timeout']
self._sock = None
还有host和端口,看来这是要把client.conf那些配置项都传进去,那只能先传着喽,
client = Fdfs_client({'host_tuple': '64.19.202.73', 'port': 22122, 'timeout': 30})
client.upload_by_filename('test')
[-] Error: 11001 connect to 0:22122. getaddrinfo failed.
[-] Error: 11001 conn