会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132433个问题
WEB前端全系列/第一阶段:HTML5+CSS3模块/CSS3新特性 18586楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 18587楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 18588楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 18590楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 18591楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 18593楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 18594楼

from socket import *
import struct
 
if __name__ == '__main__':
    ftp_socket = socket(AF_INET, SOCK_DGRAM)
    send_data = struct.pack('!H8sb5sb', 1, b'123.jpeg', 0, b'octet', 0)
    ftp_ip = '192.168.1.7'
    ftp_socket.sendto(send_data, (ftp_ip,69))
    with open('/Users/zhangjiabing/Desktop/111/123.jpeg', "wb") as f:
        while True:
            receive_data = ftp_socket.recvfrom(1024)
            print(receive_data)
            operation_code,ack_num=struct.unpack('!HH',receive_data[0][:4])
            rand_port=receive_data[1][1]
            print(operation_code,ack_num)
            if operation_code==5:
                print('文件不存在')
                break
            else:
                f.write(receive_data[0][4:])
                print(receive_data[0],len(receive_data[0]))
                if len(receive_data[0])<516:
                    print('文件传输完成')
                    break
                ack_data=struct.pack('!HH',4,ack_num)
                ftp_socket.sendto(ack_data,(ftp_ip,rand_port))

老师,您好:

        这个作业,老师的点评是:

老师点评:

不要把代码都写在程序入口下面,失去了if __name__ == '__main__':存在的意义,注意规划代码结构



请教下老师,这个代码,如何规划才更合理。哪些应该放在

if __name__ == '__main__':

之外?谢谢

Python 全系列/第三阶段:Python 网络与并发编程/网络通信 18596楼
Python 全系列/第二阶段:Python 深入与提高/文件处理 18597楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 18598楼
JAVA 全系列/第六阶段:项目管理与SSM框架/Spring 18599楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637