有没有一种方法,我可以在循环中生成python的variables名称,并为它们分配值? 例如,如果我有 prices = [5, 12, 45] 我想要 price1 = 5 price2 = 12 price3 = 45 我可以做一个循环或一些东西,而不是手动分配price2 = prices[1] price1 = prices[0] , price2 = prices[1]等 谢谢。 编辑 许多人build议我写一个要求这个的理由。 首先,有些时候,我认为这可能比使用列表更方便…我不记得具体是什么时候,但是我想我有使用这个时,有很多层次的嵌套。 例如,如果有一个列表的列表,以上述方式定义variables可能有助于降低嵌套的水平。 其次,今天我想到学习Pytables的使用。 我刚刚遇到了Pytables,并且在定义表的结构时看到,列名和types按以下方式描述: class TableFormat(tables.IsDescription): firstColumnName = StringCol(16) secondColumnName = StringCol(16) thirdColumnName = StringCol(16) 如果我有100列,显式input每列的名称似乎很多工作。 所以,我想知道是否有办法在运行中生成这些列名称。
我有一个Decimal('3.9')作为对象的一部分,并希望将其编码为一个JSONstring,它应该看起来像{'x': 3.9} 。 我不关心客户端的精确度,所以浮点数是好的。 有没有序列化这个好方法? JSONDecoder不接受Decimal对象,并事先转换为浮点数,产生{'x': 3.8999999999999999}这是错误的,将是一个很大的带宽浪费。
我不断收到一个错误,说 AttributeError: 'NoneType' object has no attribute 'something' 我的代码太长了,不能在这里发布,但是我想知道是否有人可以给出一般情况会导致这个'AttributeError', 'NoneType'应该是什么意思? (通常你会收到一些代码出错的对象的名称,但是由于它给了我'NoneType',我不确定如何缩小它的行为,除了第#行以外)
我如何实现SQL的IN和NOT IN的等价物? 我有一个所需值的列表。 这是一个场景: df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = ['UK','China'] # pseudo-code: df[df['countries'] not in countries] 我目前的做法如下: df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = pd.DataFrame({'countries':['UK','China'], 'matched':True}) # IN df.merge(countries,how='inner',on='countries') # NOT IN not_in = df.merge(countries,how='left',on='countries') not_in = not_in[pd.isnull(not_in['matched'])] 但是,这似乎是一个可怕的kludge。 任何人都可以改进吗?
我正在尝试编写一个命令行程序的包装脚本(svnadminvalidation),将显示一个很好的进度指示器的操作。 这要求我能够在输出包装程序后立即看到每行输出。 我想我只是使用subprocess.Popen执行程序,使用stdout=PIPE ,然后读取每一行,并相应地采取行动。 但是,当我运行下面的代码时,输出似乎被缓冲在某处,导致它出现在两个块,第1行到第332行,然后是第333到第439行(输出的最后一行) from subprocess import Popen, PIPE, STDOUT p = Popen('svnadmin verify /var/svn/repos/config', stdout = PIPE, stderr = STDOUT, shell = True) for line in p.stdout: print line.replace('\n', '') 在稍微查看Popen的文档后,我发现了bufsize参数,所以我尝试将bufsize设置为1(缓冲每行)和0(无缓冲),但是这两个值都没有改变线路传送的方式。 在这一点上,我开始抓住吸pipe,所以我写了下面的输出循环: while True: try: print p.stdout.next().replace('\n', '') except StopIteration: break 但得到了同样的结果。 是否有可能获得使用subprocess执行的程序的“实时”程序输出? Python中是否有其他的选项是向前兼容的(而不是exec* )?
我需要一个工作方法来获取所有从Python中的基类inheritance的类。
假设你想在一些地方保存一堆文件,例如在BLOB中。 假设您想通过网页浏览这些文件,并让客户端自动打开正确的应用程序/查看器。 假设:浏览器根据HTTP响应中的MIMEtypes(内容types?)标题确定使用哪个应用程序/查看器。 基于这个假设,除了文件的字节之外,还需要保存MIMEtypes。 你将如何find一个文件的MIMEtypes? 我目前在Mac上,但这也应该在Windows上。 浏览器在将文件发布到网页时是否添加此信息? 有没有一个整洁的Python库来find这些信息? 一个WebService或(甚至更好)一个可下载的数据库?
我有一个20个文件名的列表,如['file1.txt', 'file2.txt', …] 。 我想写一个Python脚本来连接这些文件到一个新的文件。 我可以通过f = open(…)打开每个文件,通过调用f.readline()读取,并将每行写入到新文件中。 对我来说,这看起来不是很“优雅”,尤其是我必须阅读的部分//逐行写。 在Python中有更“优雅”的方法吗?
对不起,我不能用更简单的例子重现错误,而且我的代码太复杂了,不能发布。 如果我在IPython shell而不是普通的python中运行这个程序,那么结果会很好。 我查了一下以前有关这个问题的笔记。 它们都是由使用pool来调用类函数中定义的函数引起的。 但是对我来说情况并非如此。 Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib64/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib64/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib64/python2.7/multiprocessing/pool.py", line 313, in _handle_tasks put(task) PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed 我将不胜感激任何帮助。 更新:我腌菜function定义在模块的顶层。 虽然它调用一个包含嵌套函数的函数。 即,f()调用g()调用h(),它有一个嵌套的函数i(),我正在调用pool.apply_async(f)。 f(),g(),h()都是在顶层定义的。 我尝试了这个模式的更简单的例子,它虽然工作。
基本上我正在寻找组合List<List<int>>的Python版本 给定列表的列表,我需要一个新的列表,给列表之间的项目的所有可能的组合。 [[1,2,3],[4,5,6],[7,8,9,10]] -> [[1,4,7],[1,4,8],…,[3,6,10]] 列表的数量是未知的,所以我需要一些适用于所有情况的东西。 优雅的奖金点!