标签: python

将绘图保存到图像文件,而不是使用Matplotlib显示它

我正在编写一个快速而肮脏的脚本来动态生成绘图.我使用下面的代码(来自Matplotlib文档)作为起点:

from pylab import figure, axes, pie, title, show

# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]

explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})

show()  # Actually, don't show, just save to foo.png
Run Code Online (Sandbox Code Playgroud)

我不想在GUI上显示绘图,相反,我想将绘图保存到文件(例如foo.png),因此,例如,它可以在批处理脚本中使用.我怎么做?

python plot matplotlib

1060
推荐指数
20
解决办法
144万
查看次数

如何查找Python中是否存在目录

osPython 的模块中,有没有办法找到目录是否存在,例如:

>>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode
True/False
Run Code Online (Sandbox Code Playgroud)

python directory

1048
推荐指数
15
解决办法
103万
查看次数

在Python中查找扩展名为.txt的目录中的所有文件

如何.txt在python中找到扩展名目录中的所有文件?

python file-io

1043
推荐指数
19
解决办法
158万
查看次数

致命错误:Python.h:没有这样的文件或目录

我正在尝试使用C扩展文件构建共享库,但首先我必须使用以下命令生成输出文件:

gcc -Wall utilsmodule.c -o Utilc
Run Code Online (Sandbox Code Playgroud)

执行命令后,我收到此错误消息:

utilsmodule.c:1:20:致命错误:Python.h:没有这样的文件或目录编译终止.

事实上我已经通过互联网尝试了所有建议的解决方案,但问题仍然存在...我也没有问题Python.h.我设法在我的机器上找到该文件......任何人在遇到同样的问题之前?

python gcc python-c-api python-c-extension

1042
推荐指数
27
解决办法
80万
查看次数

我如何修剪空白?

是否有一个Python函数可以从字符串中修剪空格(空格和制表符)?

示例:\t example string\texample string

python string whitespace trim strip

1035
推荐指数
5
解决办法
109万
查看次数

测量Python中经过的时间?

我想要的是开始在我的代码中的某个地方计算时间,然后获得通过的时间,以测量执行少量功能所花费的时间.我认为我使用的是timeit模块错误,但文档对我来说只是让人困惑.

import timeit

start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
Run Code Online (Sandbox Code Playgroud)

python performance timeit measure

1031
推荐指数
32
解决办法
116万
查看次数

用于Python的IDE是什么?

其他IDE用于Python编码的IDE("GUI /编辑器")是什么?

python ide editor

1028
推荐指数
1
解决办法
164万
查看次数

给定完整路径如何导入模块?

如何在完整路径下加载Python模块?请注意,该文件可以位于文件系统中的任何位置,因为它是一个配置选项.

python configuration python-module python-import

1022
推荐指数
18
解决办法
80万
查看次数

如果解释Python,什么是.pyc文件?

我已经理解Python是一种解释型语言......然而,当我查看我的Python源代码时,我看到了.pycWindows,它们识别为"编译的Python文件".这些来自哪里?

python compiled interpreted-language pyc

1017
推荐指数
10
解决办法
47万
查看次数

如何从函数返回多个值?

在支持它的语言中返回多个值的规范方法通常是tupling.

选项:使用元组

考虑这个简单的例子:

def f(x):
  y0 = x + 1
  y1 = x * 3
  y2 = y0 ** y3
  return (y0, y1, y2)
Run Code Online (Sandbox Code Playgroud)

但是,随着返回值的增加,这很快就会出现问题.如果您想要返回四个或五个值,该怎么办?当然,你可以保持它们的组合,但很容易忘记哪个值在哪里.在任何想要接收它们的地方解压缩它们也相当丑陋.

选项:使用字典

下一个合乎逻辑的步骤似乎是引入某种"记录符号".在python中,显而易见的方法是通过a dict.

考虑以下:

def g(x):
  y0 = x + 1
  y1 = x * 3
  y2 = y0 ** y3
  return {'y0': y0, 'y1': y1 ,'y2': y2}
Run Code Online (Sandbox Code Playgroud)

(编辑 - 要清楚,y0,y1和y2只是作为抽象标识符.正如所指出的,在实践中你会使用有意义的标识符)

现在,我们有一个机制,我们可以在其中投射返回对象的特定成员.例如,

result['y0']
Run Code Online (Sandbox Code Playgroud)

选项:使用课程

但是,还有另一种选择.我们可以返回一个专门的结构.我已经在Python的上下文中对此进行了构建,但我确信它也适用于其他语言.事实上,如果你在C工作,这可能是你唯一的选择.开始:

class ReturnValue:
  def __init__(self, y0, y1, y2):
     self.y0 = y0
     self.y1 = y1
     self.y2 = y2

def …
Run Code Online (Sandbox Code Playgroud)

python coding-style return return-value

1011
推荐指数
12
解决办法
111万
查看次数