how to make return(self.res) not to output the content of list ?

luofeiyu elearn2014 at gmail.com
Wed Sep 24 15:55:30 CEST 2014


There is a file named analyse.py in the D:\Python34\Lib\site-packages.


import sqlite3,os,jinja2
db = r'F:\workspace\china\data\china.sqlite'
con = sqlite3.connect(db)
cur = con.cursor()

class status():
     def grow(self):
         self.res=cur.execute('select 代码,所属行业,注册资本,雇员人数,管 
理人员人数 from profile limit 10').fetchall()

     def display(self):
         template = jinja2.Template('''
         <table border=1>
         {% for row in res %}
             <tr>
             {% for col in row -%}
                 <td>{{ col}}</td>
             {% endfor %}
             </tr>
         {% endfor %}
         </table>
         ''')
         with open('f:\\test.html', 'w') as f:
              f.write(template.render(res=self.res))
         import webbrowser
         webbrowser.open('f:\\test.html')


when i open python3.4  console to input  the code:
import analyse
x=analyse.status()
x.grow()
x.display()

i get


when i add  return(self.res) in grow method to make analyse.py into the 
following:

import sqlite3,os,jinja2
db = r'F:\workspace\china\data\china.sqlite'
con = sqlite3.connect(db)
cur = con.cursor()

class status():
     def grow(self):
         self.res=cur.execute('select 代码,所属行业,注册资本,雇员人数,管 
理人员人数 from profile limit 10').fetchall()
return(self.res)
     def display(self):
         template = jinja2.Template('''
         <table border=1>
         {% for row in res %}
             <tr>
             {% for col in row -%}
                 <td>{{ col}}</td>
             {% endfor %}
             </tr>
         {% endfor %}
         </table>
         ''')
         with open('f:\\test.html', 'w') as f:
              f.write(template.render(res=self.res))
         import webbrowser
         webbrowser.open('f:\\test.html')


now again input the code:
import analyse
x=analyse.status()
x.grow()
the x.grow() will output

[('600000', '银行', '187亿', 39340.0, 30.0),
('600004', '民航机场', '11.5亿', 4499.0, 23.0),
  ('600005', '钢铁行业', '101亿', 38857.0, 24.0),
('600006', '汽车行业', '20.0亿', 10290.0, 20.0),
('600007', '房地产', '10.1亿', 2332.0, 19.0),
  ('600008', '公用事业', '22.0亿', 6515.0, 20.0),
('600009', '民航机场', '19.3亿', 5472.0, 18.0),
('600010', '钢铁行业', '80.0亿', 31389.0, 19.0),
('600011', '电力行业', '141亿', 37729.0, 29.0),
('600012', '高速公路', '16.6亿', 2106.0, 14.0)]

now what i want to do is :
1.keep  return(self.res)  in grow method.
2.it is my target that when run  the code:

import analyse
x=analyse.status()
x.grow()

there is nothing output in my console ,  to make return(self.res) not to 
output the content of list ,
how can i do ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140924/79005e32/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jjdehdhi.png
Type: image/png
Size: 12871 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20140924/79005e32/attachment.png>


More information about the Python-list mailing list