由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Python 可不可以一次读数据给一个 web service 后,然后一直用这个数据
相关主题
关于buffer overflow[合集] scipy还是matlab
请问static variable init的问题?[合集] 给没用过 python 或着这正在用的人
问个参数读入和传递的设计问题判断Python程序员水平的一个试题
scala的def或val是冗余的为什么很多数据挖掘的开发包都是用Python或R写的?
golang 一个thread safe singleton问题Hadoop 和Python的数据分析包哪个更值得学习?
Python:请问如何把list变成structured array。快被python搞死了
python读入文件疑问python读入数据的问题
[合集] 到底要学习Perl,还是Python?菜鸟问个python+http问题
相关话题的讨论汇总
话题: getinput话题: row话题: 数据话题: class话题: web
进入Programming版参与讨论
1 (共1页)
p******1
发帖数: 79
1
做了一个web service, 主要是算一些数。用的是webpy 的get:
urls = ('/calculate','calculate')
app = web.application(urls,globals())
class calculate :
def __init__(self):
self.hello = "hello world"
def GET(self):
getInput=web.input

b=[]
with open("file.txt","rb") as k:
for row in k:
row=row.split("t")
if len(row)==8:
b.append(row)

就是先用getinput 得到一个值,然后再读入一个数据, file.txt, 用 file.txt 的数
据和 getinput 的值做计算。由于,每次call web service 就 vall 一组值,再读数
据,再计算,上司觉得这样做每次input 数据,太耗时,他的意思是能不能把数据一次
读入,放在一边,每次call web service 的时候,哪怕有新的 getinput data 来,都
用存好的从 file.txt 来的数据,而不用再重新读入,这样可以减少i/o所用的时间。
我觉得好像不行。
他给我看这个网页:
http://www.tutorialspoint.com/python/python_classes_objects.htm
意思是用 class, instance 总是可以的。
大家觉得可行吗?
p******1
发帖数: 79
2
如果真像他说的可以那样,又该怎么实现呢?程序上?

【在 p******1 的大作中提到】
: 做了一个web service, 主要是算一些数。用的是webpy 的get:
: urls = ('/calculate','calculate')
: app = web.application(urls,globals())
: class calculate :
: def __init__(self):
: self.hello = "hello world"
: def GET(self):
: getInput=web.input
:
: b=[]

d****n
发帖数: 1637
3
不用db的web app都是耍流氓

【在 p******1 的大作中提到】
: 做了一个web service, 主要是算一些数。用的是webpy 的get:
: urls = ('/calculate','calculate')
: app = web.application(urls,globals())
: class calculate :
: def __init__(self):
: self.hello = "hello world"
: def GET(self):
: getInput=web.input
:
: b=[]

w***g
发帖数: 5958
4
把读数据那部分放到__init__里不就行了。

【在 p******1 的大作中提到】
: 做了一个web service, 主要是算一些数。用的是webpy 的get:
: urls = ('/calculate','calculate')
: app = web.application(urls,globals())
: class calculate :
: def __init__(self):
: self.hello = "hello world"
: def GET(self):
: getInput=web.input
:
: b=[]

p******1
发帖数: 79
5
多谢。我试试。要写成一个函数,class , instance 之类的吗?我都不知道我在说啥。

【在 w***g 的大作中提到】
: 把读数据那部分放到__init__里不就行了。
p******1
发帖数: 79
6
http://stackoverflow.com/questions/7512681/how-to-keep-a-variab
我发现这个。看来这件事不是那么直接了当。

【在 w***g 的大作中提到】
: 把读数据那部分放到__init__里不就行了。
w***g
发帖数: 5958
7
我弄错了。查了下,webpy为每一个request instantiate一个object。
放到class里有点杀鸡用牛刀。最方便的办法是在定义class之前读入数据,
存到全局变量里。

啥。

【在 p******1 的大作中提到】
: 多谢。我试试。要写成一个函数,class , instance 之类的吗?我都不知道我在说啥。
p******1
发帖数: 79
8
http://stackoverflow.com/questions/16510254/public-variables-in
这篇文章的意思是说 python 没有全局变量。不过你的意思我懂了。
我有一个问题,既然是每一个request instantiate一个object,那么是不是我先要run
一个单独的程序,读入数据,存到class 里之类的, 再run web service ,是这样吗
? 多谢.

【在 w***g 的大作中提到】
: 我弄错了。查了下,webpy为每一个request instantiate一个object。
: 放到class里有点杀鸡用牛刀。最方便的办法是在定义class之前读入数据,
: 存到全局变量里。
:
: 啥。

l*******m
发帖数: 1096
9
what you need is a singleton

run

【在 p******1 的大作中提到】
: http://stackoverflow.com/questions/16510254/public-variables-in
: 这篇文章的意思是说 python 没有全局变量。不过你的意思我懂了。
: 我有一个问题,既然是每一个request instantiate一个object,那么是不是我先要run
: 一个单独的程序,读入数据,存到class 里之类的, 再run web service ,是这样吗
: ? 多谢.

w***g
发帖数: 5958
10
不用。直接在class前面给变量赋值就可以。不在class内部的代码在.py文件载入的时
候运行。
b=[]
with open("file.txt","rb") as k:
for row in k:
row=row.split("t")
if len(row)==8:
b.append(row)
class calculate :
def __init__(self):
self.hello = "hello world"
def GET(self):
getInput=web.input

run

【在 p******1 的大作中提到】
: http://stackoverflow.com/questions/16510254/public-variables-in
: 这篇文章的意思是说 python 没有全局变量。不过你的意思我懂了。
: 我有一个问题,既然是每一个request instantiate一个object,那么是不是我先要run
: 一个单独的程序,读入数据,存到class 里之类的, 再run web service ,是这样吗
: ? 多谢.

相关主题
Python:请问如何把list变成structured array。[合集] scipy还是matlab
python读入文件疑问[合集] 给没用过 python 或着这正在用的人
[合集] 到底要学习Perl,还是Python?判断Python程序员水平的一个试题
进入Programming版参与讨论
p******1
发帖数: 79
11
多谢。那么这样,下一次call web service 就不用再读一遍数据了吗?主要想去掉每
一次读入数据用的时间。

【在 w***g 的大作中提到】
: 不用。直接在class前面给变量赋值就可以。不在class内部的代码在.py文件载入的时
: 候运行。
: b=[]
: with open("file.txt","rb") as k:
: for row in k:
: row=row.split("t")
: if len(row)==8:
: b.append(row)
: class calculate :
: def __init__(self):

p******1
发帖数: 79
12
多谢,singleton 就是一个单独变量吗?是什么?

【在 l*******m 的大作中提到】
: what you need is a singleton
:
: run

p******1
发帖数: 79
13
我看了一下 singleton ,好像是一种 class, 它可以储存数据?
http://stackoverflow.com/questions/31875/is-there-a-simple-eleg
要另外写一个python script 包括一个singleton, 把数据写进去。再另外运行 web
service 吗?
多谢!

【在 l*******m 的大作中提到】
: what you need is a singleton
:
: run

p******1
发帖数: 79
14
多谢楼上几位的回复。我去试一下。
c******n
发帖数: 16666
15
看来我已经是老流氓了。。

【在 d****n 的大作中提到】
: 不用db的web app都是耍流氓
p******1
发帖数: 79
16
多谢,按照你的意思改了下代码。发现没有提高运行速度。
感觉问题主要出在那句话上:
webpy为每一个request instantiate一个object

【在 w***g 的大作中提到】
: 不用。直接在class前面给变量赋值就可以。不在class内部的代码在.py文件载入的时
: 候运行。
: b=[]
: with open("file.txt","rb") as k:
: for row in k:
: row=row.split("t")
: if len(row)==8:
: b.append(row)
: class calculate :
: def __init__(self):

p******1
发帖数: 79
17
多谢。怎么用db?用db 是不是快点?代码?

【在 d****n 的大作中提到】
: 不用db的web app都是耍流氓
p******1
发帖数: 79
18
今天试了一下我的这个想法,发现,完全不行。class 是不可以存储数据的。我先写了
一个 python script class, 给一个变量赋了值,把这个程序跑了一下,然后写了另
一个程序,调用统一名字的class instance ,发现根本不识别。就是说每一个python
scripts 之间是隔离开的,根本不能互相存储变量,调用。自己有点蠢。呵呵。

【在 p******1 的大作中提到】
: 我看了一下 singleton ,好像是一种 class, 它可以储存数据?
: http://stackoverflow.com/questions/31875/is-there-a-simple-eleg
: 要另外写一个python script 包括一个singleton, 把数据写进去。再另外运行 web
: service 吗?
: 多谢!

p******1
发帖数: 79
19
大家对此问题有何见解?多谢!
p******1
发帖数: 79
20
我现在还又那个singleton 的方法没试,大家说该怎么用singleton 在这里?多谢!
c***t
发帖数: 54
21
wdong 的回复是正确的。 你可能没有搞懂人家的意思吧。
跟本就不需要singleton。
w***g
发帖数: 5958
22
他试了,说速度不快。但是速度不快这个说法太抽象,一个请求花几秒,
每秒能处理多少请求都没说,那个文件有多大也没说,计算是啥我似乎也
没看明白。导致速度慢的原因太多了。无从帮起。我怀疑读那个文件根本
不是bottleneck。

【在 c***t 的大作中提到】
: wdong 的回复是正确的。 你可能没有搞懂人家的意思吧。
: 跟本就不需要singleton。

1 (共1页)
进入Programming版参与讨论
相关主题
菜鸟问个python+http问题golang 一个thread safe singleton问题
wdong, 请教几个Julia的问题Python:请问如何把list变成structured array。
python 3.5现在是正式版本了?python读入文件疑问
无比悲惨的一天[合集] 到底要学习Perl,还是Python?
关于buffer overflow[合集] scipy还是matlab
请问static variable init的问题?[合集] 给没用过 python 或着这正在用的人
问个参数读入和传递的设计问题判断Python程序员水平的一个试题
scala的def或val是冗余的为什么很多数据挖掘的开发包都是用Python或R写的?
相关话题的讨论汇总
话题: getinput话题: row话题: 数据话题: class话题: web