socket库上传文件错误。
本帖最后由 xdyewu 于 2020-4-6 16:24 编辑第一种:
def send_file(serve_addr,tcp_socket):
send_file_name = input("请输入要上传的文件文件名:")
file_content = None
file = open(send_file_name,"rb")
file_content = file.read
file.close()
if file_content:
tcp_socket.send(send_file_name.encode("utf-8"))
tcp_socket.send(file_content)
第二种:
def send_file(serve_addr,tcp_socket):
send_file_name = input("请输入要上传的文件文件名:")
file_content = None
file_content = file_del(send_file_name)
if file_content:
tcp_socket.send(send_file_name.encode("utf-8"))
tcp_socket.send(file_content)
print("文件上传成功")
else :
print("文件上传失败")
def file_del(send_file_name):
try:
date = open(send_file_name,"rb")
file_date = date.read()
date.close()
return file_date
except Exception:
print("文件异常")
采用第二种方式出来的代码可以正常使用,而我用第一种方法出来的代码出现了这种错误提示。
“tcp_socket.send(file_content)”
”TypeError: a bytes-like object is required, not 'builtin_function_or_method'“
希望各位大佬可以跟我解释一下这种情况,我后面加.encode()也没有办法运行。
你打印一下那个file_content,看看他是什么 qiuyouzhi 发表于 2020-4-6 16:09
你打印一下那个file_content,看看他是什么
不好意思,原来传的代码有点问题,第一种方法原来没有 file_deal方法。重新修改了。
file_count打印后是这个数据<built-in method read of _io.BufferedReader object at 0x00000158DF0CF0F0>
那个文件里面存的是hallo xdyewu 发表于 2020-4-6 16:28
不好意思,原来传的代码有点问题,第一种方法原来没有 file_deal方法。重新修改了。
file_count打印后是 ...
一楼第一种第⑤行read后面是否有() wp231957 发表于 2020-4-6 16:34
一楼第一种第⑤行read后面是否有()
对了 。就这错了 。感谢感谢,小白一名,没注意到这里。太尴尬了 。
页:
[1]