Tag: python

这是什么意思?

我正在分析一些Python代码,我不知道是什么 pop = population[:] 手段。 是像Java中的数组列表或二维数组? 可以欣赏一些帮助,谢谢。

TypeError:不可能的types:'dict'

这段代码是给我一个错误unhashable type: dict任何人都可以解释我是什么解决scheme negids = movie_reviews.fileids('neg') def word_feats(words): return dict([(word, True) for word in words]) negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids] stopset = set(stopwords.words('english')) def stopword_filtered_word_feats(words): return dict([(word, True) for word in words if word not in stopset]) result=stopword_filtered_word_feats(negfeats)

Python __str__和列表

在Java中,如果我调用List.toString(),它将自动调用List中每个对象上的toString()方法。 例如,如果我的列表包含对象o1,o2和o3,则list.toString()将如下所示: "[" + o1.toString() + ", " + o2.toString() + ", " + o3.toString() + "]" 有没有办法在Python中获得类似的行为? 我在我的类中实现了一个__str __()方法,但是当我打印出一个对象列表时,使用: print 'my list is %s'%(list) 它看起来像这样: [<__main__.cell instance at 0x2a955e95f0>, <__main__.cell instance at 0x2a955e9638>, <__main__.cell instance at 0x2a955e9680>] 我怎么能得到python自动调用__str__列表中的每个元素(或字典)呢?

ValueError:未知的MS编译器版本1900

我正在尝试使用cygwin(mingw)在Windows 10上运行Python 3.5的一些代码。 准确地说,我正在使用PyDSTool模块,我称之为dopri集成器。 问题是,我遇到了不能识别Microsoft Visual Studio 2015的distutils问题。有没有办法避免这种情况(没有回到老版本的Python,Windows,Visual Studio)。 完整的错误可以在下面看到。 ValueError Traceback (most recent call last) <ipython-input-16-bfeb915bfd7b> in <module>() 60 print("\n") 61 —> 62 testODE = Dopri_ODEsystem(DSargs) 63 64 print('Integrating…') C:\Anaconda3\lib\site-packages\PyDSTool\Generator\Dopri_ODEsystem.py in __init__(self, kw) 371 print("stages using the makeLibSource and compileLib methods.") 372 else: –> 373 self.makeLib() 374 375 @property C:\Anaconda3\lib\site-packages\PyDSTool\Generator\mixins.py in makeLib(self, libsources, libdirs, […]

在Windows上设置Python不要在cmd中键入python

我如何configuration,以便我不必在Windows上inputpython script.py而只需在CMD中inputpython script.py ? 我将我的python目录添加到包含python.exe的%PATH%中,但仍然无法正确运行脚本。 我试过用django-admin.py运行django-admin.py startproject mysite给我inputType 'django-admin.py help <subcommand>' for help on a specific subcommand. 在它前面使用python正确处理命令。 这里有什么问题?

matrix乘法在Python?

我正在尝试使用纯python将两个matrix相乘。 input(X1是3×3,Xt是3×2): X1 = [[1.0016, 0.0, -16.0514], [0.0, 10000.0, -40000.0], [-16.0514, -40000.0, 160513.6437]] Xt = [(1.0, 1.0), (0.0, 0.25), (0.0, 0.0625)] 其中Xt是另一个matrix的zip转置。 现在这里是代码: def matrixmult (A, B): C = [[0 for row in range(len(A))] for col in range(len(B[0]))] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(B)): C[i][j] += A[i][k]*B[k][j] return C […]

了解Selenium中的执行asynchronous脚本

我一直在使用selenium (通过python绑定和通过protractor )相当长的时间,每次我需要执行一个JavaScript代码,我已经使用execute_script()方法。 例如, 滚动页面 (python): driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 或者,对于另一个元素 (量angular器) 内的无限滚动 : var div = element(by.css('div.table-scroll')); var lastRow = element(by.css('table#myid tr:last-of-type')); browser.executeScript("return arguments[0].offsetTop;", lastRow.getWebElement()).then(function (offset) { browser.executeScript('arguments[0].scrollTop = arguments[1];', div.getWebElement(), offset).then(function() { // assertions }); }); 或者,获取所有元素属性 (python)的字典 : driver.execute_script('var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value […]

ElementTree可以被告知保存属性的顺序吗?

我已经写了一个相当简单的filter在python中使用ElementTree模仿一些xml文件的上下文。 它或多或less起作用。 但它重新sorting各种标签的属性,我希望它不这样做。 有谁知道一个开关,我可以扔,使它们保持在指定的顺序? 上下文为此 我正在使用一个粒子物理工具,它有一个复杂的,但奇怪的基于xml文件的configuration系统。 设置这种方式的许多事情是各种静态数据文件的path。 这些path被硬编码到现有的xml中,并且没有设置或者根据环境variables来改变它们,在我们的本地安装中它们必然在不同的地方。 这不是一场灾难,因为我们使用的源码和构build控制工具可以让我们用本地副本来遮盖某些文件。 但即使认为数据字段是静态的xml不是,所以我写了一个脚本来修复path,但与属性重新排列之间的本地和主版本比较难以阅读比必要的。 这是我第一次把ElementTree旋转(只有我的第五或第六个Python项目),所以也许我只是做错了。 简单起见,代码如下所示: tree = elementtree.ElementTree.parse(inputfile) i = tree.getiterator() for e in i: e.text = filter(e.text) tree.write(outputfile) 合理还是愚蠢? 相关链接: 我如何使用Python xml.sax获取元素属性列表的顺序? 用minidom修改时保留属性的顺序

用imaplib取得电子邮件,但不要将其标记为SEEN

我想parsing用户收件箱中的一些电子邮件,但是当我这样做时: typ, msg_data = imap_conn.fetch(uid, '(RFC822)') 它将电子邮件标记为SEEN或阅读。 这不是所需的function。 你知道我怎么能保持电子邮件在以前的盯着看或不见?

IOError:没有这样的文件或目录试图打开一个文件

我对Python很新,所以请原谅下面的基本代码和问题,但我一直在试图找出是什么原因导致我得到的错误(我甚至看过类似的线程),但不能超过我的问题。 这是我正在做的事情: 循环浏览CSV文件的文件夹 search“关键字”并删除包含“关键字”的所有行 保存输出到一个单独的文件夹 这是我的代码: import os, fnmatch import shutil src_dir = "C:/temp/CSV" target_dir = "C:/temp/output2" keyword = "KEYWORD" for f in os.listdir(src_dir): os.path.join(src_dir, f) with open(f): for line in f: if keyword not in line: write(line) shutil.copy2(os.path.join(src_dir, f), target_dir) 这是我得到的错误: IOError: [Errno 2] No such file or directory: 'POS_03217_20120309_153244.csv' 我已经确认该文件夹和文件确实存在。 是什么导致IOError以及如何解决? 另外,我的代码还有什么问题会阻止我执行整个任务吗?