Questions tagged «python»

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

15
以自定义形式使用Django时间/日期小部件
如何使用默认管理员在自定义视图中使用的漂亮的JavaScript日期和时间小部件? 我浏览了Django表单文档,其中简要提到了django.contrib.admin.widgets,但我不知道如何使用它? 这是我希望将其应用于的模板。 <form action="." method="POST"> <table> {% for f in form %} <tr> <td> {{ f.name }}</td> <td>{{ f }}</td> </tr> {% endfor %} </table> <input type="submit" name="submit" value="Add Product"> </form> 另外,我认为应该指出的是,我并未真正为这种形式编写视图,而是使用了通用视图。这是url.py中的条目: (r'^admin/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}), 而且我对整个Django / MVC / MTV都是陌生的,所以请放轻松...
171 python  django 


8
如何在不使用“ |”的情况下将两组连接在一起
假定S和T被分配了集合。不使用join运算符|,如何找到两个集合的并集?例如,找到交叉点: S = {1, 2, 3, 4} T = {3, 4, 5, 6} S_intersect_T = { i for i in S if i in T } 那么如何在不使用的情况下在一行中找到两个集合的并集|呢?
171 python  set 

4
python:将脚本工作目录更改为脚本自己的目录
我每分钟从crontab运行python shell: * * * * * /home/udi/foo/bar.py /home/udi/foo有一些必要的子目录,例如/home/udi/foo/log和/home/udi/foo/config,它/home/udi/foo/bar.py指的是。 问题是crontab从另一个工作目录运行脚本,因此尝试打开./log/bar.log失败。 有没有办法告诉脚本将工作目录更改为脚本自己的目录?我想找到一种适用于任何脚本位置的解决方案,而不是明确告诉脚本位置。 编辑: os.chdir(os.path.dirname(sys.argv[0])) 是最紧凑的优雅解决方案。感谢您的回答和解释!

12
使用PyCrypto AES 256加密和解密
我正在尝试使用PyCrypto构建两个接受两个参数的函数:消息和密钥,然后对消息进行加密/解密。 我在网络上找到了几个链接可以帮助我,但每个链接都有缺陷: 在codekoala上,此代码使用os.urandom,PyCrypto不建议这样做。 此外,不能保证我提供给函数的键具有预期的确切长度。我该怎么做才能做到这一点? 另外,有几种模式,推荐哪种?我不知道该怎么用:/ 最后,IV到底是什么?我可以提供不同的IV进行加密和解密,还是返回不同的结果? 编辑:删除了代码部分,因为它不安全。

5
pandas loc vs. iloc vs. ix vs. at vs. iat?
最近开始从我的安全地方(R)分支到Python,并且对中的单元格本地化/选择感到有些困惑Pandas。我已经阅读了文档,但仍在努力了解各种本地化/选择选项的实际含义。 我为什么应该使用.loc或.iloc超过最一般的选择.ix? 我的理解是.loc,iloc,at,和iat可以提供一些保证正确性是.ix不能提供的,但我也看到了在那里.ix往往是一刀切最快的解决方案。 请说明使用除.ix?以外的任何东西背后的现实世界,最佳实践推理。

7
如何使用python执行curl命令
我想在python中执行curl命令。 通常,我只需要在终端中输入命令并按回车键即可。但是,我不知道它如何在python中工作。 该命令显示如下: curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere 有一个request.json文件要发送以获得响应。 我搜索了很多,感到困惑。尽管我无法完全理解,但我还是尝试编写了一段代码。没用 import pycurl import StringIO response = StringIO.StringIO() c = pycurl.Curl() c.setopt(c.URL, 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere') c.setopt(c.WRITEFUNCTION, response.write) c.setopt(c.HTTPHEADER, ['Content-Type: application/json','Accept-Charset: UTF-8']) c.setopt(c.POSTFIELDS, '@request.json') c.perform() c.close() print response.getvalue() response.close() 错误信息为“解析错误”。有人可以告诉我如何解决吗?或如何正确获取服务器的响应?
171 python  curl 

10
如何将Seaborn图保存到文件中
我尝试了以下代码(test_seaborn.py): import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt matplotlib.style.use('ggplot') import seaborn as sns sns.set() df = sns.load_dataset('iris') sns_plot = sns.pairplot(df, hue='species', size=2.5) fig = sns_plot.get_figure() fig.savefig("output.png") #sns.plt.show() 但是我得到这个错误: Traceback (most recent call last): File "test_searborn.py", line 11, in <module> fig = sns_plot.get_figure() AttributeError: 'PairGrid' object has no attribute 'get_figure' 我希望决赛output.png将存在,看起来像这样: …


23
错误消息:“'chromedriver'可执行文件必须在路径中可用”
我正在将硒与python结合使用,并已从以下站点下载了适用于Windows计算机的chromedriver:http ://chromedriver.storage.googleapis.com/index.html?path=2.15 / 下载zip文件后,我将zip文件解压缩到我的下载文件夹中。然后,我将可执行二进制文件(C:\ Users \ michael \ Downloads \ chromedriver_win32)的路径放入环境变量“路径”中。 但是,当我运行以下代码时: from selenium import webdriver driver = webdriver.Chrome() ...我不断收到以下错误消息: WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver 但是-如上所述-可执行文件在路径中是(!)...这里发生了什么?

3
如何在Mac OS上安装2个Anacondas(Python 2和3)
我在Mac OS中比较新。我刚刚使用最新的Python 3(针对我自己)安装了XCode(针对c ++编译器)和Anaconda。现在我想知道如何使用Python 2正确安装第二个Anaconda(用于工作)? 我需要两个版本都可以与iPython和Spyder IDE一起使用。理想的方法是拥有完全独立的Python环境。例如,我希望我可以conda install scikit-learn为Python 3环境编写类似的东西,而conda2 install scikit-learn为Python 2 环境编写类似的东西。
170 python  macos  anaconda 


8
为什么Python的math.ceil()和math.floor()操作返回浮点数而不是整数?
有人可以解释一下吗(直接来自文档 -我的重点): math.ceil(x)以浮点数形式返回x的上限,最小整数值大于或等于x。 math.floor(x)以浮点数形式返回x的下限,即小于或等于x 的最大整数值。 为什么会.ceil和.floor回报花车当它们被定义应该算整数? 编辑: 好吧,这有一些很好的论据来说明为什么它们应该返回浮点数,而当@jcollado指出它们实际上确实在Python 3中返回整数时,我才刚刚习惯这个想法。
170 python  math 

7
Django DB设置“配置不正确”错误
Django(1.5)对我来说很好用,但是当我启动Python解释器(Python 3)进行检查时,尝试导入时会遇到最奇怪的错误from django.contrib.auth.models import User-- Traceback (most recent call last): File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 36, in _setup settings_module = os.environ[ENVIRONMENT_VARIABLE] File "/usr/lib/python3.2/os.py", line 450, in __getitem__ value = self._data[self.encodekey(key)] KeyError: b'DJANGO_SETTINGS_MODULE' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> …
170 python  django 

15
使用IPython进行分步调试
根据我的阅读,有两种方法可以在Python中调试代码: 使用传统的调试器,例如pdb或ipdb。它支持诸如cfor continue,nfor step-over,sfor step-into等命令,但是您没有直接访问IPython shell的权限,这对于对象检查非常有用。 通过将 IPython shell 嵌入代码中来使用 IPython。您可以这样做,然后在您的代码中使用。当您的程序/脚本命中一条语句时,您将进入IPython shell。这允许使用所有IPython好东西对对象进行全面检查并测试Python代码。但是,在使用时,您将无法通过便捷的键盘快捷键逐步完成代码。from ipython import embedembed()embed()embed() 有什么办法可以融合两全其美?即 能够 使用方便的pdb / ipdb键盘快捷键逐步完成代码。 在任何这样的步骤(例如,在给定的语句上),都可以访问成熟的IPython shell。 如在 MATLAB中一样进行 IPython调试: 在MATLAB中可以找到这种“增强调试”类型的示例,在该示例中,用户始终可以完全访问MATLAB引擎/外壳,并且她仍然可以逐步完成代码,定义条件断点等。我已经与其他用户讨论过,这是人们从MATLAB转移到IPython时最想念的调试功能。 在Emacs和其他编辑器中进行IPython调试: 我不想让这个问题过于具体,但是我主要在Emacs中工作,所以我想知道是否有任何方法可以将此功能引入其中。理想情况下,Emacs(或编辑器)将允许程序员在代码上的任意位置设置断点,并与解释器或调试器进行通信,以使其在您选择的位置停止,并在该位置提供完整的IPython解释器。
170 python  debugging  emacs  ipython  pdb 

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.