免费注册 查看新帖 |

Chinaunix

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

ChinaUnix技术实践之五——Python编程大赛 欢迎大家参与!!(获奖名单公布) [复制链接]

论坛徽章:
0
41 [报告]
发表于 2011-07-06 23:34 |只看该作者
本帖最后由 car292516198 于 2011-07-07 18:48 编辑

来得较迟,有了前面高手猛人的代码,再突破,寻找新方法就很难了。幸好第一题,发现可用有序字典,否则没信心做下去。有序字典太旧的版本可能不支持,它与一般字典基本一样,差别是顺序存储。
1.
  1. import collections
  2. D=collections.OrderedDict()
  3. L=[11,22,33,11,22]
  4. for i in L:
  5.     D[i]=None
  6. print D.keys()
复制代码


2.
print '{:,}'.format(1234567)

3.
print 'abcde'[::-1]

4.
import os
print os.popen('df -h').read()

5.
这题用路由器测试最方便,本人就是用自己路由器测试通过,但注意域realm要一字不差。
  1. import urllib2
  2. ip='192.168.1.1'
  3. realm='Wireless Soho Router'
  4. auth_handler = urllib2.HTTPBasicAuthHandler()
  5. auth_handler.add_password(realm=realm,        
  6.                           uri=ip,
  7.                           user='admin',
  8.                           passwd='admin')
  9. opener = urllib2.build_opener(auth_handler)
  10. urllib2.install_opener(opener)
  11. try:
  12.     result=urllib2.urlopen('http://'+ip)
  13.     print result.code
  14. except Exception,e:
  15.     print e,'---Please check realm and ip.'
复制代码
6.
host是远程机地址。
import os
os.system("ssh host date")

7.
“d[line]=d.get(line,0)+1”字典中的get方法,如果line已在字典中,get返回相关数字,加1并设为新值;如不在字典中,get返回默认值0,并加1,相当于:
    if line not in d:
        d[line]=0
    d[line]+=1
我日志文件的URL的索引是6,不同的请修改。
  1. import re
  2. input=open('C:\\Program Files\\wamp\\logs\\access.log','r')
  3. d={}
  4. for line in input:
  5.     line=line.split()[6]     
  6.     d[line]=d.get(line,0)+1
  7. D=sorted(d.items(),key=lambda d:d[1],reverse=True)[:10]
  8. print D
复制代码
8.
  1. import thread,urllib2
  2. def do(url):
  3.     try:
  4.         u=urllib2.urlopen(url)
  5.         print url,u.code
  6.     except Exception,e:
  7.         print url,e
  8.         
  9. for i in [163,263,136,137,138,139,11,22,33,44]:
  10.     url = 'http://www.%s.com' % i
  11.     thread.start_new_thread(do,(url,))
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
42 [报告]
发表于 2011-07-07 16:17 |只看该作者
回复 41# car292516198


    您好,请教下这个域realm表示什么意思,代表什么啊?我正在研究这个401认证

论坛徽章:
0
43 [报告]
发表于 2011-07-07 18:30 |只看该作者
回复 43# expert1


    域realm,类似cookie的网页地址,不同的网站有不同的cookie。认证在保留密码时,是域、密码相对应保存的。比如有两路由器,分别保留了密码,下次登录时,可以区分开。但如果两路由器域相同,密码不同,这样密码会覆盖掉,只能保存一密码。路由器型号相同,域则相同,也可以用PHP来进行认证测试。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
44 [报告]
发表于 2011-07-07 18:41 |只看该作者
回复  expert1


    域realm,类似cookie的网页地址,不同的网站有不同的cookie。认证在保留密码时,是 ...
car292516198 发表于 2011-07-07 18:30



   如果用PHP来进行认证测试(手册上有),域是自定义的。登录时你先保存密码,接着将php文件的域改掉,再登录时就不行了,将域改回来,登录就行了(行指不需输入密码)。有时浏览器会保存会话状态,不登录也能通过,这样需先关闭浏览器,再打开。

论坛徽章:
0
45 [报告]
发表于 2011-07-08 16:43 |只看该作者
奖品不够吸引人啊

论坛徽章:
0
46 [报告]
发表于 2011-07-11 14:32 |只看该作者
奖品不够吸引人啊
ZSMDEV 发表于 2011-07-08 16:43



    呵呵。。重在参与嘛

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
47 [报告]
发表于 2011-07-11 22:47 |只看该作者
第二题 在python2.7中比较容易实现,呵呵

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
48 [报告]
发表于 2011-07-12 20:54 |只看该作者
刚从java转做android  有个问题请教大家 :大家快来参与讨论吧:
tianbianfei 发表于 2011-07-12 15:46



    怎么看来看去,都象是广告?

论坛徽章:
0
49 [报告]
发表于 2011-07-14 17:40 |只看该作者
本帖最后由 yangzeDB 于 2011-07-14 17:46 编辑

我用的是linux在线实验室环境  有些权限不够

1. 去除list中的重复数据  [11, 22, 33, 11, 22] => [11, 22, 33]  


2. 格式化输出,三位一逗号  1234567 -> 1,234,567  


3. 字符反转  abcde -> edcba  


4. 打印当前系统的挂载点和空间大小(Linux)


5. 模拟登录401验证网站(Basic HTTP Authentication)

6. 获取远程某机器的系统当前日期时间(Linux)  



7. 打印Apache日志中访问次数最多的10条URL。  

8. 并发抓取10个URL,打印出HTTP状态码。


python爱好者 来领楼主纪念品的

下班了  执行一下 参与者的一个代码 忘了是谁的了

8.JPG (84.92 KB, 下载次数: 31)

8.JPG

8.JPG (84.92 KB, 下载次数: 31)

8.JPG

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
50 [报告]
发表于 2011-07-17 08:07 |只看该作者
找了半天只做了这么几个。。。还有一个。。。明天再来。。。。
yjphhw 发表于 05-07-2011 21:57



    for url in urls:
    thread.start_new_thread(ptstcd,(url,)) 基本就这样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP