免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5929 | 回复: 8
打印 上一主题 下一主题

有什么方法可以快速把变量放入空列表里? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-17 13:59 |只看该作者 |倒序浏览
List=[]
下面是我脚本一部分,有许多变量,不想重复语句,可不可以把变量一次进加入列表?(用循环变量后面的数字吗?)
  1. temp1=CollectFunction('注册号/申请号 </TD>','</TD>')
  2.         temp2=CollectFunction('国际分类号 </TD>','</TD>')
  3.         temp3=CollectFunction('申请日期</td>','</td>')
  4.         temp4=CollectFunction('申请人地址\(中文\)</TD>','</TD>')
  5.         temp5=CollectFunction('申请人名称\(英文\)</TD>','</TD>')
  6.         temp6=CollectFunction('申请人地址\(英文\)</TD>','</TD>')
  7.         temp7=CollectFunction('商品 / 服务列表</TD>','</TD>')
  8.         temp8=CollectFunction('类似群</TD>','</TD>')
  9.         temp9=CollectFunction('初审公告期号</TD>','</TD>')
  10.         temp10=CollectFunction('注册公告期号</TD>','</TD>')
  11.         temp11=CollectFunction('初审公告日期</TD>','</TD>')
  12.         temp12=CollectFunction('注册公告日期</TD>','</TD>')
  13.         temp13=CollectFunction('专用权期限</TD>','</TD>')
  14.         temp14=CollectFunction('后期指定日期</TD>','</TD>')
  15.         temp15=CollectFunction('国际注册日期</TD>','</TD>')
  16.         temp16=CollectFunction('优先权日期</TD>','</TD>')
  17.         temp17=CollectFunction('代理人名称</TD>','</TD>')
  18.         temp18=CollectFunction('指定颜色</TD>','</TD>')
  19.         temp19=CollectFunction('商标类型</TD>','</TD>')
  20.         temp20=CollectFunction('是否共有商标</TD>','</TD>')
  21.         temp21=CollectFunction('备注</TD>','</TD>')
  22.         temp22=CollectFunction('商标流程\s*</TD>','</TD>')
复制代码

论坛徽章:
0
2 [报告]
发表于 2010-06-17 14:08 |只看该作者
本帖最后由 luffy.deng 于 2010-06-17 14:10 编辑

又问这个问题  什么时候能记住啊?
exec """temp1=dir(0)"""

论坛徽章:
0
3 [报告]
发表于 2010-06-17 14:49 |只看该作者
又问这个问题  什么时候能记住啊?
exec """temp1=dir(0)"""
luffy.deng 发表于 2010-06-17 14:08



    不好意思,我的错

论坛徽章:
0
4 [报告]
发表于 2010-06-17 15:12 |只看该作者
比较 Pythonic 的方法是先把 '注册号/申请号 </TD>' 等等放入一个列表,然后用 map 或者列表解析生成这些变量。

论坛徽章:
0
5 [报告]
发表于 2010-06-24 13:35 |只看该作者
又问这个问题  什么时候能记住啊?
exec """temp1=dir(0)"""
luffy.deng 发表于 2010-06-17 14:08



    运行起来,好像提示我,函数里不能用这个,是什么意思呢
  1. # -*- coding:cp936 -*-
  2. import httplib
  3. import urllib,urllib2
  4. import time,random
  5. import re
  6. import webbrowser
  7. from urllib import FancyURLopener
  8. from random import choice
  9. import cookielib

  10. from urllib import urlencode
  11. import cookielib, urllib2
  12. import urllib2,cookielib,urllib,httplib,re




  13. ab='1074810'
  14. def fetch(item):
  15.     def CollectFunction(a,b):
  16.         pat=re.compile(r'%s(.*?)%s'%(a,b),flags=16)
  17.         temp=pat.search(cont).group(1)
  18.         temp=re.sub('<([\s\S]*?)>|&nbsp;','', temp).strip()
  19.         return temp
  20.     cookie=cookielib.CookieJar()
  21.     opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
  22.     urllib2.install_opener(opener)
  23.    

  24.     cond=True
  25.     i=0
  26.     while cond:
  27.         cond=False
  28.         frlist_url1="http://sbcx.saic.gov.cn/trade"
  29.         frlist_url2="http://sbcx.saic.gov.cn/trade/SelectTdInfo/SelectTdInfo.jsp"
  30.     #frlist_url5="http://source.gbipharma.com/gbi/work_process2.asp?dro16=5&cu16=jwang"
  31.         print "!!",frlist_url1
  32.         frlist=urllib2.urlopen(frlist_url1)
  33.     #res=frlist.read()
  34.         frlist=urllib2.urlopen(frlist_url2)
  35.     #url='http://www.baiduyy.com/zbxx/zbxx_index.asp'
  36.     #values={'nowpage':item,'a':'0','area':'全国','s_bstime':'','s_betime':'','titkey':'','Submit':'提交'}
  37.         url='http://sbcx.saic.gov.cn/trade/servlet?Search=TI_REG&RegNO=%s&IntCls=5&iYeCode=0'%item
  38.         print url
  39.     #data=urllib.urlencode(values)
  40.     #webbrowser.open_new_tab('http://www.yy960.com/zbquery/hb/2008/hb2008_v2.asp?hb2008_v2=235')
  41.     #req=urllib2.Request(url,data)
  42.     #req=urllib2.Request(url)
  43.         listA=[]   
  44.         response=urllib2.urlopen(url)
  45.         page=response.read()
  46.         #print page
  47.         pat=re.compile(r'<strong>商标的详细信息(.*)<font color=red>前一页',flags=16)
  48.         cont=pat.search(page).group(1)
  49.         temp1=CollectFunction('注册号/申请号 </TD>','</TD>')
  50.         temp2=CollectFunction('国际分类号 </TD>','</TD>')
  51.         temp3=CollectFunction('申请日期</td>','</td>')
  52.         temp4=CollectFunction('申请人地址\(中文\)</TD>','</TD>')
  53.         temp5=CollectFunction('申请人名称\(英文\)</TD>','</TD>')
  54.         temp6=CollectFunction('申请人地址\(英文\)</TD>','</TD>')
  55.         temp7=CollectFunction('商品 / 服务列表</TD>','</TD>')
  56.         temp8=CollectFunction('类似群</TD>','</TD>')
  57.         temp9=CollectFunction('初审公告期号</TD>','</TD>')
  58.         temp10=CollectFunction('注册公告期号</TD>','</TD>')
  59.         temp11=CollectFunction('初审公告日期</TD>','</TD>')
  60.         temp12=CollectFunction('注册公告日期</TD>','</TD>')
  61.         temp13=CollectFunction('专用权期限</TD>','</TD>')
  62.         temp14=CollectFunction('后期指定日期</TD>','</TD>')
  63.         temp15=CollectFunction('国际注册日期</TD>','</TD>')
  64.         temp16=CollectFunction('优先权日期</TD>','</TD>')
  65.         temp17=CollectFunction('代理人名称</TD>','</TD>')
  66.         temp18=CollectFunction('指定颜色</TD>','</TD>')
  67.         temp19=CollectFunction('商标类型</TD>','</TD>')
  68.         temp20=CollectFunction('是否共有商标</TD>','</TD>')
  69.         temp21=CollectFunction('备注</TD>','</TD>')
  70.         temp22=CollectFunction('商标流程\s*</TD>','</TD>')
  71.         print temp22#循环变量名字,一次性加入列表。
  72.         for i in range(1,23):
  73.             exec 'listA+=[temp%d]'%i
  74.         print listA
  75. #  选择一部分 信息

  76. ht=fetch(ab)

  77. #print ht


  78. raw_input('f')
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-06-24 14:50 |只看该作者
比较 Pythonic 的方法是先把 '注册号/申请号 ' 等等放入一个列表,然后用 map 或者列表解析生成这些变量。
jjj137 发表于 2010-06-17 15:12

我觉得你可以考虑一下这个建议。

论坛徽章:
0
7 [报告]
发表于 2010-06-24 14:57 |只看该作者
  1. t1=10
  2. t2=12
  3. t3 = 13
  4. listA=[]
  5. for i in range(1,4):
  6.     exec 'listA.append(t%d)' % i
  7. print listA
复制代码

论坛徽章:
0
8 [报告]
发表于 2010-06-24 15:18 |只看该作者
运行后,提示这个

112.JPG (17.84 KB, 下载次数: 15)

112.JPG

论坛徽章:
0
9 [报告]
发表于 2010-06-25 10:30 |只看该作者
回复 1# wqjwftcaqr


    还没明白么……
  1. args = ('注册号/申请号 </TD>', '国际分类号 </TD>')
  2. List = [CollectFunction(arg) for arg in args]
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP