Questions tagged «python»

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

3
检查条件是否满足列表中任何元素的Python方法
我在Python中有一个列表,我想检查是否有任何负数。Specman具有has()用于列表的方法,该方法可以: x: list of uint; if (x.has(it < 0)) { // do something }; itSpecman关键字又在哪里映射到列表的每个元素。 我觉得这很优雅。我浏览了Python文档,找不到类似的东西。我能想到的最好的是: if (True in [t < 0 for t in x]): # do something 我觉得这很不雅致。有没有更好的方法在Python中执行此操作?
110 python  list 

6
Python多重处理模块的.join()方法到底在做什么?
了解Python 多重处理(来自PMOTW文章),并且希望澄清一下join()方法的。 在2008年的旧教程中,它指出,没有p.join()以下代码中的调用,“子进程将处于空闲状态而不会终止,成为必须手动杀死的僵尸”。 from multiprocessing import Process def say_hello(name='world'): print "Hello, %s" % name p = Process(target=say_hello) p.start() p.join() 我添加的打印输出PID,以及一个time.sleep测试,并就我所知道的,在自己的进程终止: from multiprocessing import Process import sys import time def say_hello(name='world'): print "Hello, %s" % name print 'Starting:', p.name, p.pid sys.stdout.flush() print 'Exiting :', p.name, p.pid sys.stdout.flush() time.sleep(20) p = Process(target=say_hello) …

5
在共享内存中使用numpy数组进行多处理
我想在共享内存中使用一个numpy数组,以便与多处理模块一起使用。困难是像numpy数组一样使用它,而不仅仅是ctypes数组。 from multiprocessing import Process, Array import scipy def f(a): a[0] = -a[0] if __name__ == '__main__': # Create the array N = int(10) unshared_arr = scipy.rand(N) arr = Array('d', unshared_arr) print "Originally, the first two elements of arr = %s"%(arr[:2]) # Create, start, and finish the child processes p …

11
解析配置文件,环境和命令行参数,以获取单个选项集合
Python的标准库具有用于配置文件解析(configparser),环境变量读取(os.environ)和命令行参数解析(argparse)的模块。我想编写一个可以完成所有这些任务的程序,并且: 具有一系列的选项值: 默认选项值,被覆盖 配置文件选项,被覆盖 环境变量,被覆盖 命令行选项。 允许在命令行上使用例如指定一个或多个配置文件位置--config-file foo.conf,并读取该位置(代替或添加到常规配置文件中)。这仍然必须遵循上述级联。 允许在单个位置定义选项,以确定配置文件和命令行的解析行为。 将已解析的选项统一为一个选项值集合,供程序的其余部分访问,而无需关心它们的来源。 我需要的所有内容显然都在Python标准库中,但它们不能一起正常工作。 如何以最小的Python标准库偏差实现此目标?

12
用Spark加载CSV文件
我是Spark的新手,正在尝试使用Spark从文件读取CSV数据。这是我在做什么: sc.textFile('file.csv') .map(lambda line: (line.split(',')[0], line.split(',')[1])) .collect() 我希望此调用可以给我列出文件的前两列,但出现此错误: File "<ipython-input-60-73ea98550983>", line 1, in <lambda> IndexError: list index out of range 尽管我的CSV文件不止一列。

6
Python模块os.chmod(file,664)不会将权限更改为rw-rw-r,而是-w--wx ----
最近,我正在使用Python模块os,当我尝试更改文件的权限时,没有得到预期的结果。例如,我打算将权限更改为rw-rw-r--, os.chmod("/tmp/test_file", 664) 所有权许可实际上是-w--wx ---(230) --w--wx--- 1 ag ag 0 Mar 25 05:45 test_file 但是,如果我在代码中将664更改为0664,则结果正是我所需要的,例如 os.chmod("/tmp/test_file", 0664) 结果是: -rw-rw-r-- 1 ag ag 0 Mar 25 05:55 test_file 任何人都可以帮助解释为什么前导0对于获得正确结果如此重要吗?

11
登录到以2为底的python
我应该如何计算以python为底数的两个日志。例如。我在使用对数基数2的地方有这个方程式 import math e = -(t/T)* math.log((t/T)[, 2])
110 python  logarithm 

7
pycharm自动将制表符转换为空格
我正在使用pycharm IDE进行python开发,它对Django代码非常完美,因此怀疑将制表符转换为空格是默认行为,但是在python IDE中到处都有错误,因为它无法自动将制表符转换为空格,有没有一种方法可以实现这个。
110 python  pycharm 

5
点冻结与点列表
比较输出结果可发现差异: user@user-VirtualBox:~$ pip list feedparser (5.1.3) pip (1.4.1) setuptools (1.1.5) wsgiref (0.1.2) user@user-VirtualBox:~$ pip freeze feedparser==5.1.3 wsgiref==0.1.2 Pip的文档状态 freeze Output installed packages in requirements format. list List installed packages. 但是什么是“需求格式”?为什么pip list生成的清单比清单更全面pip freeze?

6
如何检查** kwargs键是否存在?
Python 3.2.3。这里列出了一些想法,这些想法可以在常规var上使用,但是** kwargs似乎遵循不同的规则...所以,为什么这行不通?我如何检查** kwargs中的键是否存在? if kwargs['errormessage']: print("It exists") 我也认为这应该可行,但是不- if errormessage in kwargs: print("yeah it's here") 我猜是因为kwargs是可迭代的?我是否必须遍历它只是为了检查是否存在特定的密钥?

9
Google合作实验室:有关其GPU的误导性信息(某些用户只能使用5%的RAM)
更新:此问题与Google Colab的“笔记本设置:硬件加速器:GPU”有关。在添加“ TPU”选项之前就写了这个问题。 阅读关于Google Colaboratory提供免费Tesla K80 GPU的多个激动人心的公告,我试图在它上运行fast.ai课程,以使其永远无法完成-很快耗尽内存。我开始调查原因。 最重要的是,“免费的Tesla K80”并不是所有人都“免费”的-因为其中只有一小部分是“免费的”。 我从加拿大西海岸连接到Google Colab,我只能得到0.5GB的24GB GPU RAM。其他用户可以访问11GB的GPU RAM。 显然,对于大多数ML / DL工作而言,0.5GB GPU RAM是不够的。 如果您不确定自己能得到什么,这里是我拼凑的一点调试功能(仅适用于笔记本的GPU设置): # memory footprint support libraries/code !ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi !pip install gputil !pip install psutil !pip install humanize import psutil import humanize import os import GPUtil as GPU GPUs = …

3
在python matplotlib中绘制(x,y)坐标列表
我有一个列表,(a, b)希望matplotlib在python中绘制为实际的xy坐标。当前,它正在绘制两个图,其中列表的索引给出x坐标,第一个图的y值是对中的as,第二个图的y值是对中的bs。 澄清一下,我的数据看起来像这样:li = [(a,b), (c,d), ... , (t, u)] 我想做一个单行代码,只是调用plt.plot()不正确。如果我不需要单线,我可以轻松地做: xs = [x[0] for x in li] ys = [x[1] for x in li] plt.plot(xs, ys) 如何获取matplotlib将这些对绘制为xy坐标?

22
如何在PyCharm终端中激活virtualenv?
我已经设置了PyCharm,创建了我的virtualenv(通过virtual env命令,或者直接在PyCharm中),并将那个环境激活为我的解释器。一切正常。 但是,如果我使用“工具,打开终端”打开终端,则提供的shell提示未使用虚拟环境。我仍然必须source ~/envs/someenv/bin/activate在该终端内使用才能激活它。 另一种方法是在外壳中激活环境,然后从该环境运行PyCharm。这是“可行的”但很丑陋,这意味着如果我从PyCharm切换环境或项目,我会遇到重大问题:我现在使用的是完全错误的环境。 还有其他更简便的方法来使“工具,打开终端”自动激活虚拟环境吗?


5
决定子进程,多处理和Python中的线程?
我想并行化我的Python程序,以便它可以在运行它的机器上使用多个处理器。我的并行化非常简单,因为程序的所有并行“线程”都是独立的,并将其输出写入单独的文件。我不需要线程交换信息,但是必须知道线程何时完成,因为管道的某些步骤取决于它们的输出。 可移植性很重要,因为我希望它可以在Mac,Linux和Windows上的任何Python版本上运行。考虑到这些限制,哪个是实现此功能的最合适的Python模块?我试图在线程,子进程和多处理之间做出选择,它们似乎都提供了相关的功能。 有什么想法吗?我想要最简单的便携式解决方案。

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.