Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

6
如何强制Django忽略所有缓存并重新加载数据?
我正在使用未从HTTP请求调用的进程中的Django数据库模型。该过程应该每隔几秒钟轮询一次新数据并对其进行一些处理。我有一个循环,它休眠了几秒钟,然后从数据库中获取所有未处理的数据。 我看到的是,在第一次获取之后,该进程再也看不到任何新数据。我进行了一些测试,尽管每次我都在构建新的QuerySet,但看起来Django正在缓存结果。为了验证这一点,我从Python shell做到了这一点: >>> MyModel.objects.count() 885 # (Here I added some more data from another process.) >>> MyModel.objects.count() 885 >>> MyModel.objects.update() 0 >>> MyModel.objects.count() 1025 如您所见,添加新数据不会更改结果计数。但是,调用管理器的update()方法似乎可以解决此问题。 我找不到关于该update()方法的任何文档,也不知道它可能还会做其他什么坏事。 我的问题是,为什么我会看到这种缓存行为,这与Django文档所说的相反?以及如何防止它发生?
77 python  django  caching 


13
python列表理解;压缩列表列表?
伙计们 我正在尝试找到问题的最优雅解决方案,并且想知道python是否为我想做的事情内置了任何东西。 我正在做的是这个。我有一个列表,A并且我有一个f接受项目并返回列表的函数。我可以使用列表推导来转换所有内容,A例如: [f(a) for a in A] 但这返回一个列表列表; [a1,a2,a3] => [[b11,b12],[b21,b22],[b31,b32]] 我真正想要的是获取扁平化的列表; [b11,b12,b21,b22,b31,b32] 现在,其他语言也有它。传统上flatmap用函数式编程语言来称呼它,而.Net则称它为SelectMany。python有类似的东西吗?有没有一种巧妙的方法可以将函数映射到列表并展平结果? 我要解决的实际问题是:从目录列表开始,查找所有子目录。所以; import os dirs = ["c:\\usr", "c:\\temp"] subs = [os.listdir(d) for d in dirs] print subs currentliy给了我一个列表列表,但是我真的想要一个列表。

4
c ++ 11 regex比python慢
嗨,我想了解为什么下面的代码使用正则表达式进行拆分字符串拆分 #include<regex> #include<vector> #include<string> std::vector<std::string> split(const std::string &s){ static const std::regex rsplit(" +"); auto rit = std::sregex_token_iterator(s.begin(), s.end(), rsplit, -1); auto rend = std::sregex_token_iterator(); auto res = std::vector<std::string>(rit, rend); return res; } int main(){ for(auto i=0; i< 10000; ++i) split("a b c", " "); return 0; } 则慢于以下python代码 import re …

5
是否有创建用于分发Python程序的Debian软件包的标准方法?
有关如何执行此操作的信息很多,但是由于“有多种方法可以给猫换皮”,因此涵盖该过程的所有教程/手册似乎都做出了与其他假设不同的某些假设。教程,我仍然没有设法掌握它。 到目前为止,这是我认为我了解的。 我的最终目标应该是创建“二进制” .deb软件包。由于所有Python程序都是这样的,因此此类软件包将独立于平台(32/64位)。 要创建“二进制”包,我首先需要创建一个源包。 要创建源包,我可以使用CDBS或debhelper。Debhelper是初学者的推荐方法。 创建源程序包的核心是DEBIAN在源目录中的目录中填充许多文件,以阐明需要在何处复制文件,它们受什么版权和许可方案,它们具有什么依赖性等。 如果Python源代码还附带distutils的脚本,则该步骤#4可在很大程度上自动化该dh_make命令。setup.py 现在我的问题是: 我对流程的理解正确吗?有什么我想念的东西,或者我弄错了吗? 步骤5确实让我更困惑:特别是对我来说最模糊的两点是: 如何编写setup.py安装独立程序的脚本? 编辑:通过独立的程序,我指的是节目旨在通过桌面用户使用(而不是一个模块,这是我理解的一样功能的集合被其他软件已经被导入后使用)。在我的特定情况下,我实际上需要两个这样的“程序”:主软件和单独的实用程序(实际上,另一个“程序”应与另一个程序放在同一程序包中)。 这种脚本对DEB包有什么特殊性?官方文档似乎只涉及RPM和Windows内容。 顺便说一句:这些是迄今为止我能找到的最佳信息来源。如果您有什么比这更好的,请分享!:) Ubuntu的Python打包指南 从python setup.py创建一个.deb包(它显示了步骤,但是对它们的解释不足以使我遵循) ShowMeDo视频,有关“从python程序中创建.deb软件包”(它似乎不是最新的,并且-如果我理解正确的话-它将产生供个人使用的软件包,没有依赖项,也没有签名的changelog等使其与Debian政策不兼容的关键数据)。

20
在Python中合并两个排序的列表
我有两个对象列表。每个列表已经按日期时间类型的对象的属性排序。我想将两个列表合并为一个排序的列表。最好的方法是仅执行排序,还是在Python中有更聪明的方法来执行此操作?
77 python  list  sorting 

6
PyQt中带有QThread的后台线程
我有一个程序,可以通过我在PyQt中编写的gui与正在使用的无线电接口。显然,无线电的主要功能之一是传输数据,但是要连续进行此操作,我必须循环写入,这会导致gui挂起。由于我从未处理过线程,因此我尝试使用QCoreApplication.processEvents().“无线”需要在两次传输之间睡眠的方法来消除这些挂起,因此gui仍根据这些睡眠持续的时间来挂起。 是否有使用QThread修复此问题的简单方法?我一直在寻找有关如何使用PyQt实现多线程的教程,但是其中大多数都涉及设置服务器,并且比我需要的要先进得多。老实说,我什至不需要我的线程在它运行时更新任何东西,我只需要启动它,使其在后台传输,然后停止它即可。

13
Matplotlib图未显示在Mac OSX中?
我正在运行Mac OSX 10.5.8。我使用macports安装了matplotlib。我从matplotlib画廊获得了一些像这样的示例,而没有做任何修改: http://matplotlib.sourceforge.net/examples/api/unicode_minus.html 我运行它,没有错误,但是图片没有显示。在Linux Ubuntu中,我明白了。 您知道这里可能出什么问题吗?

8
无法导入名称模式
在我写urls.py代码之前,我的代码...一切正常。现在,我遇到了问题-无法访问我的网站。“无法导入名称模式” 我的urls.py是: from django.conf.urls import patterns, include, url 他们说这里有什么错误。
77 python  django 


13
fit_transform()接受2个位置参数,但LabelBinarizer给出了3个
我是机器学习的新手,并且一直在研究无监督学习技术。 该图显示了我的示例数据(所有清洁后)屏幕截图: 示例数据 我有两个用来清理数据的Pipline: num_attribs = list(housing_num) cat_attribs = ["ocean_proximity"] print(type(num_attribs)) num_pipeline = Pipeline([ ('selector', DataFrameSelector(num_attribs)), ('imputer', Imputer(strategy="median")), ('attribs_adder', CombinedAttributesAdder()), ('std_scaler', StandardScaler()), ]) cat_pipeline = Pipeline([ ('selector', DataFrameSelector(cat_attribs)), ('label_binarizer', LabelBinarizer()) ]) 然后,我将这两个管道进行了合并,相同的代码如下所示: from sklearn.pipeline import FeatureUnion full_pipeline = FeatureUnion(transformer_list=[ ("num_pipeline", num_pipeline), ("cat_pipeline", cat_pipeline), ]) 现在,我正在尝试对数据执行fit_transform,但它向我显示了错误。 转换代码: housing_prepared = full_pipeline.fit_transform(housing) housing_prepared …



8
如何在Selenium WebDriver中设置浏览器的宽度和高度?
我正在使用Selenium WebDriver for Python。我想用特定的宽度和高度实例化浏览器。到目前为止,我能得到的最接近的是: driver = webdriver.Firefox() driver.set_window_size(1080,800) 哪个可行,但是在创建浏览器后设置浏览器大小,我希望在实例化时设置它。我猜想有一种方法可以遵循: profile = webdriver.FirefoxProfile(); profile.set_preference(foo, 1080) driver = webdriver.Firefox(profile) 但是我不知道foo会是什么,而且我不知道文档在哪里。 Q1:有没有一种方法可以在实例化时设置宽度/高度? 问题2:参考文档在哪里列出了所有可用的密钥profile.set_preference?

3
根据Python大熊猫中的数据框制作matplotlib散点图
使用Python中matplotlib的pandas数据框制作一系列散点图的最佳方法是什么? 例如,如果我的数据框df有一些感兴趣的列,我会发现自己通常将所有内容都转换为数组: import matplotlib.pylab as plt # df is a DataFrame: fetch col1 and col2 # and drop na rows if any of the columns are NA mydata = df[["col1", "col2"]].dropna(how="any") # Now plot with matplotlib vals = mydata.values plt.scatter(vals[:, 0], vals[:, 1]) 在绘制之前将所有内容都转换为数组的问题是,它迫使您脱离数据框。 考虑以下两个用例,其中完整的数据帧对于绘图至关重要: 例如,如果您现在想查看在col3调用中绘制的对应值的所有值scatter,并用该值为每个点(或大小)上色,该怎么办?您必须返回,拉出的非na值,col1,col2并检查它们对应的值。 在保留数据框的同时有一种绘制方法吗?例如: mydata = df.dropna(how="any", …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.