Questions tagged «python»

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

1
Django:登录后重定向到上一页
我正在尝试建立一个简单的网站,其登录功能与SO上的登录功能非常相似。该用户应该能够以匿名用户身份浏览该网站,并且每个页面上都会有一个登录链接。当单击登录链接时,用户将被带到登录表单。成功登录后,应将用户带回到他首先单击登录链接的页面。我猜想我必须以某种方式将当前页面的url传递给处理登录表单的视图,但是我真的无法使其正常工作。 编辑:我想通了。我通过将当前页面作为GET参数传递来链接到登录表单,然后使用“下一个”重定向到该页面。谢谢! 编辑2:我的解释似乎不清楚,所以这里要求的是我的代码:假设我们在页面foo.html上,并且尚未登录。现在,我们希望在foo.html上有一个链接,该链接登录。我们可以在那里登录,然后将其重定向回foo.html。foo.html上的链接如下所示: <a href='/login/?next={{ request.path }}'>Login</a> 现在,我编写了一个自定义登录视图,看起来像这样: def login_view(request): redirect_to = request.REQUEST.get('next', '') if request.method=='POST': #create login form... if valid login credentials have been entered: return HttpResponseRedirect(redirect_to) #... return render_to_response('login.html', locals()) 还有login.html中的重要一行: <form method="post" action="./?next={{ redirect_to }}"> 是的,就这样,希望可以弄清楚。
175 python  django 

2
virtualenv和pyenv之间是什么关系?
我最近学习了如何在工作流程中使用virtualenv和virtualenvwrapper,但是我在一些指南中看到了pyenv,但是我似乎无法了解pyenv是什么以及它与virtualenv有何不同/相似。pyenv是virtualenv的更好/更新的替代品还是免费的工具?如果后者有什么不同之处,以及两者(以及适用的virtualenvwrapper)如何一起工作?

1
Python-检查Word是否在字符串中
我正在使用Python v2,并且正在尝试找出是否可以判断字符串中是否包含单词。 我发现了一些有关识别单词是否在字符串中的信息-使用.find,但是有一种方法可以执行IF语句。我想要以下内容: if string.find(word): print 'success' 谢谢你的帮助。
175 python  string 


5
matplotlib中的日期刻度和旋转
我在尝试在matplotlib中旋转日期刻度时遇到问题。下面是一个小示例程序。如果我尝试最后旋转刻度线,则刻度线不会旋转。如果我尝试如注释“ crashes”下所示旋转刻度线,则matplot lib崩溃。 仅当x值为日期时,才会发生这种情况。如果我在的调用dates中将变量替换t为avail_plot,则该xticks(rotation=70)调用在内部正常运行avail_plot。 有任何想法吗? import numpy as np import matplotlib.pyplot as plt import datetime as dt def avail_plot(ax, x, y, label, lcolor): ax.plot(x,y,'b') ax.set_ylabel(label, rotation='horizontal', color=lcolor) ax.get_yaxis().set_ticks([]) #crashes #plt.xticks(rotation=70) ax2 = ax.twinx() ax2.plot(x, [1 for a in y], 'b') ax2.get_yaxis().set_ticks([]) ax2.set_ylabel('testing') f, axs = plt.subplots(2, sharex=True, sharey=True) t = …
175 python  matplotlib 

4
断言对模拟方法的后续调用
模拟有一个有用的assert_called_with()方法。但是,据我了解,这仅检查对方法的最后一次调用。 如果我有连续3次调用该模拟方法的代码,每次使用不同的参数,那么该如何用其特定的参数来断言这3次调用?
175 python  mocking 

6
如何在pytest中打印到控制台?
我正在尝试将TDD(测试驱动的开发)与 pytest。 pytest使用时不会print进入控制台print。 我正在pytest my_tests.py运行它。 的 documentation似乎是说,它应该是默认的工作:http://pytest.org/latest/capture.html 但: import myapplication as tum class TestBlogger: @classmethod def setup_class(self): self.user = "alice" self.b = tum.Blogger(self.user) print "This should be printed, but it won't be!" def test_inherit(self): assert issubclass(tum.Blogger, tum.Site) links = self.b.get_links(posts) print len(links) # This won't print either. 什么都没有打印到我的标准输出控制台上(只是正常的进度以及通过/失败的测试数量)。 我正在测试的脚本包含打印: class …

3
如何获取熊猫DataFrame的最后N行?
我有熊猫数据帧df1和df2(df1是vanila数据帧,df2由'STK_ID'和'RPT_Date'索引): >>> df1 STK_ID RPT_Date TClose sales discount 0 000568 20060331 3.69 5.975 NaN 1 000568 20060630 9.14 10.143 NaN 2 000568 20060930 9.49 13.854 NaN 3 000568 20061231 15.84 19.262 NaN 4 000568 20070331 17.00 6.803 NaN 5 000568 20070630 26.31 12.940 NaN 6 000568 20070930 39.12 19.977 NaN …
175 python  pandas  dataframe 

1
如何在Django queryset中执行小于或等于过滤器?
我试图通过每个称为“个人资料”的用户个人资料中的自定义字段来过滤用户。此字段称为级别,是0到3之间的整数。 如果我使用等于进行过滤,则会得到具有预期级别的用户列表: user_list = User.objects.filter(userprofile__level = 0) 当我尝试使用少于以下内容进行过滤时: user_list = User.objects.filter(userprofile__level < 3) 我得到了错误: 未定义全局名称“ userprofile__level” 有没有一种方法可以通过<或>进行过滤,或者我是否吠叫了错误的树。

2
TypeError:无法散列的类型:'dict'
这段代码给我一个错误unhashable type: dict,任何人都可以向我解释解决方案 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)
175 python 

17
如何在Tkinter中将参数传递给Button命令?
假设我Button在Python中使用Tkinter进行了以下操作: import Tkinter as Tk win = Tk.Toplevel() frame = Tk.Frame(master=win).grid(row=1, column=1) button = Tk.Button(master=frame, text='press', command=action) action当我按下按钮时会调用该方法,但是如果我想向该方法传递一些参数action呢? 我尝试使用以下代码: button = Tk.Button(master=frame, text='press', command=action(someNumber)) 这只是立即调用该方法,而按该按钮则没有任何作用。

3
如何在Python中将多个值附加到列表
我试图弄清楚如何在Python中将多个值附加到列表中。我知道有一些方法来做到这一点,如手动输入值,或在PUR追加操作for循环,或append和extend功能。 但是,我想知道是否还有更整洁的方法?也许某个软件包或功能?
175 python  list 

12
将包含NaN的Pandas列转换为dtype`int`
我将数据从.csv文件读取到Pandas数据框,如下所示。对于其中一列,id我想将列类型指定为int。问题在于该id系列的值缺失/为空。 当我尝试id在读取.csv时将列转换为整数时,得到: df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values 或者,我尝试在阅读以下内容后转换列类型,但是这次我得到: df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int) error: Cannot convert NA to integer 我该如何解决?
175 python  pandas  na 

6
Python中的“ collection.defaultdict”多个级别
感谢SO方面的一些杰出人士,我发现了的可能性collections.defaultdict,尤其是在可读性和速度方面。我让他们成功使用。 现在,我想实现三个级别的字典,两个最大的字典是defaultdict,最低的是int。我找不到执行此操作的适当方法。这是我的尝试: from collections import defaultdict d = defaultdict(defaultdict) a = [("key1", {"a1":22, "a2":33}), ("key2", {"a1":32, "a2":55}), ("key3", {"a1":43, "a2":44})] for i in a: d[i[0]] = i[1] 现在这可以工作,但是以下是所需的行为,但无效: d["key4"]["a1"] + 1 我怀疑我应该在某个地方声明第二个级别defaultdict是type int,但是我没有找到在哪里或怎么做。 我defaultdict首先使用的原因是避免必须为每个新键初始化字典。 还有更优雅的建议吗? 谢谢pythoneers!


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.