首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:'tuple‘对象没有属性'read’

:'tuple‘对象没有属性'read’
EN

Stack Overflow用户
提问于 2013-12-21 00:19:11
回答 2查看 14.6K关注 0票数 0

我正在开发一个简单的python客户端和服务器,它可以在文件发送时编写代码。到目前为止,我一直被困在这个错误上: AttributeError:'tuple‘对象没有属性'read’

以下是客户端代码:

代码语言:javascript
复制
# CCSP Client
# (C) Chris Dorman - 2013 - GPLv2

import socket
import sys

# Some settings
host = raw_input('Enter the Host: ')
port = 7700
buff = 24
connectionmax = 10

# Connect to server
server = socket.socket()
server.connect((host, port))

print 'Connected!'

while True:
    open_file = raw_input("File (include path): ")
    fcode = open(open_file, "rb")
    while True:
        readcode = fcode.read(buff)
        server.send(readcode)
        if not fcode:
            server.send("OK\n")
            print "Transfer complete"
            break

服务器:

代码语言:javascript
复制
# CCSP Server
# (C) Chris Dorman - 2013 - GPLv2

import socket
import sys
import string
import random

def id_generator(size=6, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for x in range(size))

host = "0.0.0.0"
port = 7700
buff = 1024
filepath = "/home/chris/"
extension = ".txt"

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))

print "Server Started"


while True:
    server.listen(1)
    conn = server.accept()  
    print 'Client' + str(conn)
    print 'Generating a random file'
    filename = filepath + str(id_generator()) + extension
    fcode = open(filename, "wb")
    while True:
        if conn != 0: 
            code = conn.read(buff)
            fcode.write(buff)
            if conn == "DONE": 
                print 'Transfer complete'
                break #EOT

如果能帮上忙,那就太棒了。当这个错误转到服务器脚本上的:code = conn.read(buff)时,我一直收到这个愚蠢的错误

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-21 01:16:48

正如其他人所指出的,accept()返回一个元组。看起来您需要元组中的第一项,这将是一个新的套接字对象。

当然,套接字也没有read()方法。我猜你真正想要的是:

代码语言:javascript
复制
code = conn.recv(buff)

因为recv()返回已写入套接字连接的数据。

票数 0
EN

Stack Overflow用户

发布于 2013-12-21 00:21:10

你应该读一些医生accept()返回一个元组,而不是一个类似文件的对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20713981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档