Questions tagged «python»

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

11
在Python脚本中请求UAC高程?
我希望我的Python脚本在Vista上复制文件。当我从普通cmd.exe窗口运行它时,不会生成任何错误,但不会复制文件。如果我以cmd.exe“管理员身份”运行,然后运行我的脚本,则可以正常运行。 这是有道理的,因为用户帐户控制(UAC)通常会阻止许多文件系统操作。 我有没有办法从Python脚本中调用UAC提升请求(这些对话框中会说“诸如此类应用需要管理员访问权限,这样可以吗?”) 如果这不可能,那么我的脚本是否可以至少检测到未提升的脚本,从而可以正常地失败?

6
熊猫中的大型持久性DataFrame
我正在探索以长期的SAS用户身份切换到python和pandas的问题。 但是,当今天运行一些测试时,令我惊讶的是python在尝试处理pandas.read_csv()128mb的csv文件时内存不足。它具有大约200,000行和200列的大多数数字数据。 使用SAS,我可以将csv文件导入SAS数据集,并且该文件可以与硬盘一样大。 有类似的东西pandas吗? 我经常处理大型文件,但是无法访问分布式计算网络。
91 python  pandas  sas 

5
如何在Spyder / IPython / matplotlib中再次获得交互式图?
我在Windows 7中从Python(x,y)2.7.2.3升级到2.7.6.0(很高兴看到我终于可以function_name?再次在Object Inspector中键入并看到文档字符串),但是现在绘图无法正常工作过去。 以前(Spyder 2.1.9,IPython 0.10.2,matplotlib 1.2.1),例如,当我绘制此脚本时,它将在交互式窗口中并排绘制子图: 现在(Spyder 2.2.5,IPython 1.2.0,Matplotlib 1.3.1),当我尝试绘制事物时,它将子图作为微小的内联PNG进行,这是IPython中的变化: 所以我进入选项,发现了这一点: 这似乎表明我可以找回旧的交互式图,并排显示4个子图,但是当我切换到“自动”并尝试绘制某些内容时,它什么也没做。完全没有情节。 如果我将此下拉菜单切换为Qt,或取消选中“激活支持”,则它只会绘制第一个子图或部分子图,然后停止: 如何在可以与之交互的单个图形中获得4个并排子图的旧行为?


5
在Python中模拟Bash“源”
我有一个看起来像这样的脚本: export foo=/tmp/foo export bar=/tmp/bar 每次构建时,我都会运行“ source init_env”(其中init_env是上面的脚本)来设置一些变量。 为了在Python中完成同样的工作,我运行了这段代码, reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*') for line in open(file): m = reg.match(line) if m: name = m.group('name') value = '' if m.group('value'): value = m.group('value') os.putenv(name, value) 但是后来有人决定将以下行添加到init_env文件中会很好: export PATH="/foo/bar:/bar/foo:$PATH" 显然我的Python脚本崩溃了。我可以修改Python脚本来处理这一行,但是稍后当有人想出要在init_env文件中使用的新功能时,它将中断。 问题是,是否有一种简单的方法来运行Bash命令并让其修改我的os.environ?
91 python  bash 

9
Python:重新加载用'from X import Y'导入的组件Y?
在Python中,一旦我在解释器会话中使用导入了模块X import X,并且模块在外部进行了更改,就可以使用来重新加载该模块reload(X)。然后,这些更改将在我的解释器会话中可用。 我想知道当我使用从模块X导入组件Y时是否也可行from X import Y? 该语句reload Y不起作用,因为Y本身不是模块,而是模块内部的仅组件(在这种情况下为类)。 是否有可能在不离开解释器会话(或导入整个模块)的情况下重新加载模块的各个组件? 编辑: 为了澄清起见,问题是关于从模块X导入类或函数Y并在更改时重新加载,而不是从包X重新加载模块Y。

3
检查文件是否在python中是符号链接
在python中,是否存在检查给定文件/目录是否为符号链接的函数?例如,对于以下文件,我的包装函数应返回True。 # ls -l total 0 lrwxrwxrwx 1 root root 8 2012-06-16 18:58 dir -> ../temp/ lrwxrwxrwx 1 root root 6 2012-06-16 18:55 link -> ../log

3
models.py越来越大,最好的分解方法是什么?
主管的指示:“我要避免在其中添加任何逻辑models.py。从现在开始,让我们将其用作访问数据库的类,并将所有逻辑保留在使用模型类或包装它们的外部类中。” 我觉得这是错误的方法。我觉得将逻辑保持在模型之外只是为了减小文件大小是一个坏主意。如果模型中的逻辑最好,则无论文件大小如何,逻辑都是真正应该去的地方。 那么,有没有一种简单的方法可以只使用include?用PHP讲,我想向主管建议,我们只是models.py从其他地方获得了include()模型类。从概念上讲,这将使模型具有我们想要的所有逻辑,但可以通过增加文件数量来减小文件大小(从而减少诸如冲突等的版本控制问题)。 因此,有没有一种简单的方法可以从models.py文件中删除模型类,但是仍然可以使模型与所有Django工具一起使用?或者,对于“大” models.py文件的一般问题,是否有完全不同但优雅的解决方案?任何输入将不胜感激。


4
Django模型字段默认基于同一模型中的另一个字段
我有一个模型,希望包含一个科目名称及其首字母(他的数据有些匿名,并且通过首字母进行跟踪)。 现在,我写道 class Subject(models.Model): name = models.CharField("Name", max_length=30) def subject_initials(self): return ''.join(map(lambda x: '' if len(x)==0 else x[0], self.name.split(' '))) # Next line is what I want to do (or something equivalent), but doesn't work with # NameError: name 'self' is not defined subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials) 如最后一行所示,我希望能够将姓名的缩写实际作为字段(与名称无关)存储在数据库中,但是会使用基于名称字段的默认值进行初始化。但是,由于Django模型似乎没有“自我”,我遇到了问题。 …


5
如何在Python的一行中附加多个项目
我有: count = 0 i = 0 while count < len(mylist): if mylist[i + 1] == mylist[i + 13] and mylist[i + 2] == mylist[i + 14]: print mylist[i + 1], mylist[i + 2] newlist.append(mylist[i + 1]) newlist.append(mylist[i + 2]) newlist.append(mylist[i + 7]) newlist.append(mylist[i + 8]) newlist.append(mylist[i + 9]) newlist.append(mylist[i …
91 python 

5
取消Celery已经执行的任务?
我一直在阅读文档并进行搜索,但似乎找不到直接的答案: 您可以取消已经执行的任务吗?(由于任务已开始,需要一段时间,因此需要取消一半) 我在Celery FAQ的文档中找到了这个 >>> result = add.apply_async(args=[2, 2], countdown=120) >>> result.revoke() 但是我不清楚这是否会取消排队的任务,或者是否会杀死工作程序上正在运行的进程。感谢您能摆脱的光芒!


5
如何避免HTTP错误429(请求过多)python
我尝试使用Python登录网站并从多个网页收集信息,但出现以下错误: Traceback (most recent call last): File "extract_test.py", line 43, in <module> response=br.open(v) File "/usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py", line 203, in open return self._mech_open(url, data, timeout=timeout) File "/usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py", line 255, in _mech_open raise response mechanize._response.httperror_seek_wrapper: HTTP Error 429: Unknown Response Code 我曾经使用过time.sleep()并且可以正常工作,但是似乎并不智能且不可靠,还有其他方法可以避免此错误吗? 这是我的代码: import mechanize import cookielib import re first=("example.com/page1") second=("example.com/page2") third=("example.com/page3") fourth=("example.com/page4") …

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.