免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ning_lianjie
打印 上一主题 下一主题

Python网络编程遇到一个问题,请教高手解决 [复制链接]

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
11 [报告]
发表于 2010-11-02 16:41 |只看该作者
回复 10# donotblock


    我用的版本就是Linux上面带的,Python 2.4.3
参考资料了解到raw_input与input的区别就是:
input()=eval(raw_input())
现在我迷惑的是,如何给变量PORT赋给用户输入的值,如果没有输入,如何用默认值赋。

论坛徽章:
0
12 [报告]
发表于 2010-11-02 16:45 |只看该作者
回复  donotblock


    我用的版本就是Linux上面带的,Python 2.4.3
参考资料了解到raw_input与input ...
ning_lianjie 发表于 2010-11-02 16:41



   额,我上面的回答不就可以做到了?? 直接敲回车就用默认的值,输入了就用输入值。 你莫不是在问怎么处理命令行参数?  
   BTW, 有没有看玩Python的初级教程, 没有的话建议系统看看,这些都是基本问题。 《Dive into python》

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
13 [报告]
发表于 2010-11-02 16:51 |只看该作者
本帖最后由 ning_lianjie 于 2010-11-02 18:16 编辑

回复 12# donotblock
  1. #!/usr/bin/python

  2. from socket import *

  3. HOST = raw_input('please IP address: ')
  4. PORT = raw_input('please PORT: ')

  5. BUFSIZ = 1024
  6. ADDR = (HOST and HOST or '127.0.0.1', PORT and int(PORT) or 21567)
  7. #ADDR = (HOST,PORT)
  8. tcpCliSock = socket(AF_INET, SOCK_STREAM)
  9. tcpCliSock.connect(ADDR)
  10. while True:
  11.     data = raw_input('> ')
  12.     if not data:
  13.         break
  14.     tcpCliSock.send(data)
  15.     data = tcpCliSock.recv(BUFSIZ)
  16.     if not data:
  17.         break
  18.     print data
  19. tcpCliSock.close()
复制代码
改成这样子,就达到目的了,input在2.4版本,赋空值会报错。刚才测试的时候,把21567用单引号,括起来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP