print get_file_ext_name(‘/bc.tar.gz‘) SyntaxError:invalid syntax

在Python 3.6和Django 1.11.11环境下,使用FastDFS进行图片管理时遇到`SyntaxError: invalid syntax`错误。问题源于fdfs_client.py文件中的Python 2语法与当前Python 3虚拟环境冲突。解决方案是卸载旧版fdfs_client,安装适用于Python 3的py3Fdfs模块,并注意新模块的使用教程变化。另外,使用fdfs_client上传文件后,文件地址在`Remote file_id`字段,需解码为字符串。
摘要由CSDN通过智能技术生成

使用python 3.6,django==1.11.11 框架是DRF,图片存储用Fastfds,做电商网站后台,实现图片的增删改查,结果报错如下图:

解决:

看报错内容,点开对应文件是fdfs_client.py,发现语法是python 2的,跟我的虚拟环境python 3.6冲突了。应该更换fdfs_client模块适应python 3环境。

先卸载掉fdfs_client应用,然后虚拟环境中安装pip install py3Fdfs

注意新模块使用的教程和原有的不一样

from fdfs_client.client import Fdfs_client,get_tracker_conf
# 注意fdfs client的配置路径需要修改成你自己的fdsf的配置路径
tracker_config = get_tracker_conf('/etc/fdfs/client.conf')
# 创建client 用于上传文件,注意这里要用关键词参数传参
client = Fdfs_client(trackers=tracker_config)
# 测试上传,指定一个文件
ret = client.upload_by_filename('test')
# 打印检查下返回结果
print(red)

问题解决。

还有一个值得注意的是使用fdfs_client模块上传文件到fastfds上面,返回的文件地址保存在'Remote file_di'字段,是字节型的,我们接收时需要将它解码decode()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值