我有一个string,说: abc.def.ghi.jkl.myfile.mymethod 。 我如何dynamic导入mymethod ? 这是我如何去做的: def get_method_from_file(full_path): if len(full_path) == 1: return map(__import__,[full_path[0]])[0] return getattr(get_method_from_file(full_path[:-1]),full_path[-1]) if __name__=='__main__': print get_method_from_file('abc.def.ghi.jkl.myfile.mymethod'.split('.')) 我想知道是否需要导入个人模块。 编辑:我正在使用Python版本2.6.5。
如果可能的话,我想使用somelist.sort()方法来做到这一点。 我有一个包含对象的列表,所有对象都有一个整型的成员variablesresultType。 我想用这个数字来sorting列表。 我该怎么做呢? 谢谢!
我试图find一种有效的方法将包含整数点的数据行组合在一起,并将它们存储为Python对象。 数据由X和Y坐标点组成,用逗号分隔的string表示。 如(x_1, y_1), (x_2, y_2), …等等必须配对,然后存储为一个对象列表,其中每个点是一个对象。 下面的函数get_data生成这个示例数据: def get_data(N=100000, M=10): import random data = [] for n in range(N): pair = [[str(random.randint(1, 10)) for x in range(M)], [str(random.randint(1, 10)) for x in range(M)]] row = [",".join(pair[0]), ",".join(pair[1])] data.append(row) return data 我现在的parsing代码是: class Point: def __init__(self, a, b): self.a = a self.b = b def […]
我目前正在尝试ElementTree,它看起来很好,它转义HTML实体等等。 我是否错过了一些我从来没有听说过的奇妙的东西? 这与我实际做的相似: import xml.etree.ElementTree as ET root = ET.Element('html') head = ET.SubElement(root,'head') script = ET.SubElement(head,'script') script.set('type','text/javascript') script.text = "var a = 'I love á letters'" body = ET.SubElement(root,'body') h1 = ET.SubElement(body,'h1') h1.text = "And I like the fact that 3 > 1" tree = ET.ElementTree(root) tree.write('foo.xhtml') # more foo.xhtml <html><head><script type="text/javascript">var a = 'I […]
考虑一个包含['foo', 'foo', 'bar']的Python列表my_list 。 什么是Pythonic最独特的方式来整理和整理清单? (想想cat my_list | sort | uniq ) 这是我目前的做法,虽然它的工作,我相信有更好的方法来做到这一点。 my_list = [] … my_list.append("foo") my_list.append("foo") my_list.append("bar") … my_list = set(my_list) my_list = list(my_list) my_list.sort()
我有一个数据框与unix时间和价格。 我想转换索引列,以便它显示在人类可读的date。 所以,例如我有“date”为1349633705在索引列,但我希望它显示为10/07/2012(或至less10/07/2012 18:15)。 对于某些上下文,这里是我正在使用的代码和我已经尝试过的代码: import json import urllib2 from datetime import datetime response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json') data = json.load(response) df = DataFrame(data['values']) df.columns = ["date","price"] #convert dates df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) df.index = df.date df 正如你所看到的,我正在使用df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) ,因为我正在工作整数,而不是string。 我想我需要使用datetime.date.fromtimestamp但我不太清楚如何将其应用于整个df.date。 谢谢。
我发现这个python脚本应该让我打开一个WebSocket。 然而,当我尝试打开实际的WebSocket(使用Old WebSocket Terminal Chrome插件)时,我收到警告[W 1402720 14:44:35 web:1811] 403 GET / (192.168.0.102) 11.02 ms 。 terminal窗口不会打印“连接打开”,“连接closures”和“收到消息”消息。 import tornado.httpserver import tornado.ioloop import tornado.options import tornado.web import tornado.websocket class MyHandler(tornado.websocket.WebSocketHandler): def open(self): print "connection opened" self.write_message("connection opened") def on_close(self): print "connection closed" def on_message(self,message): print "Message received: {}".format(message) self.write_message("message received") if __name__ == "__main__": tornado.options.parse_command_line() app = […]
如何组合两列并应用滤镜? 例如,我想同时search“名字”和“姓氏”列。 如果只search一列,我就是这么做的: query = meta.Session.query(User).filter(User.firstname.like(searchVar))
在C中,我会这样做: int i; for (i = 0;; i++) if (thereIsAReasonToBreak(i)) break; 我如何在Python中实现类似的function?
我有一个这种forms的mongodb集合: {id=ObjectId(….),key={dictionary of values}} where dictionary of values is {'a':'1','b':'2'…..} 让数值字典为'd' 。 我需要在'd'更新密钥的值。 即我想改变'a':'1'到'a':'2'我怎样才能在pymongo? 代码是这样的: productData is a collection in mongoDB for p in productData.find(): for k,v in p.iteritems(): value=v['a'] value=value+1 v['a']=value 现在反映productData中的新值。 这是我试过的,它引入了一个新的键值对,而不是更新 for p in productData.find(): for k,v in p.iteritems(): value=v['a'] value=value+1 v['a']=value productData.update({'_id':mongoId},{"$set":{'d.a':'100'}},upsert=False)