小编Yux*_*ang的帖子

在python c = pickle.load(open(fileName,'r'))这会关闭文件吗?

我试过谷歌但找不到答案.

如果我这样做

c = pickle.load(open(fileName, 'r'))
Run Code Online (Sandbox Code Playgroud)

此操作后文件会自动关闭吗?

python pickle

5
推荐指数
1
解决办法
2978
查看次数

释放Python中打开的ctypes库

我想知道,如果我打开自己的自定义c代码编译的dll库,就像这样:

import ctypes
my_lib = ctypes.cdll.LoadLibrary('./my_dll.dll')
my_func = my_lib.my_func
# Stuff I want to do with func()
Run Code Online (Sandbox Code Playgroud)

我需要在使用后关闭my_lib对象,就像文件对象一样吗?这样做会使代码更清晰,更高效,更"pythonic"吗?

谢谢!

python dll ctypes

5
推荐指数
1
解决办法
5099
查看次数

numpy中的二阶梯度

我试图在numpy数值计算数组的二阶梯度.

a = np.sin(np.arange(0, 10, .01))
da = np.gradient(a)
dda = np.gradient(da)
Run Code Online (Sandbox Code Playgroud)

这就是我的想法.应该这样做吗?

我问这个,因为在numpy中没有选项说np.gradient(a,order = 2).我担心这种用法是否错误,这就是为什么numpy没有实现这一点.

PS1:我确实知道有np.diff(a,2).但这只是单边估计,所以我很好奇为什么np.gradient没有类似的关键字.

PS2:np.sin()是玩具数据 - 真实数据没有分析形式.

谢谢!

python numpy scipy

5
推荐指数
3
解决办法
7204
查看次数

拆分自相交多边形仅在Python中以形状方式返回一个多边形

我在Windows 7 64位,匀称版本1.5.13使用Python 3.5 64位.

我有以下代码返回一个自相交的多边形:

import numpy as np
from shapely.geometry import Polygon, MultiPolygon
import matplotlib.pyplot as plt

x = np.array([ 0.38517325,  0.40859912,  0.43296919,  0.4583215 ,  0.4583215 ,
               0.43296919,  0.40859912,  0.38517325,  0.36265506,  0.34100929])
y = np.array([ 62.5       ,  56.17977528,  39.39698492,   0.        ,
               0.        ,  17.34605377,  39.13341671,  60.4180932 ,
               76.02574417,  85.47008547])
polygon = Polygon(np.c_[x, y])
plt.plot(*polygon.exterior.xy)
Run Code Online (Sandbox Code Playgroud)

自相交多边形

这是对的.然后我尝试使用以下方法获取两个单独的多边形buffer(0):

split_polygon = polygon.buffer(0)
plt.plot(*polygon.exterior.xy)
print(type(split_polygon))
plt.fill(*split_polygon.exterior.xy)
Run Code Online (Sandbox Code Playgroud)

不幸的是,它只返回了两个多边形:

仅返回一个多边形

有人可以帮忙吗?谢谢!

python shapely

5
推荐指数
1
解决办法
1955
查看次数

matplotlib 中的 subplots_adjust 在 IPython Notebook 中不起作用

我有以下代码不起作用:

import matplotlib.pyplot as plt

# Make the plot
fig, axs = plt.subplots(3, 1, figsize=(3.27, 6))
axs[0].plot(range(5), range(5), label='label 1')
axs[0].plot(range(5), range(4, -1, -1), label='label 2')
axs[0].legend(bbox_to_anchor=(0, 1.1, 1., 0.1), mode='expand', ncol=2, frameon=True, borderaxespad=0.)

# Adjust subplots to make room
fig.subplots_adjust(top=.5)

fig.savefig('test.png', format='png', dpi=300)
Run Code Online (Sandbox Code Playgroud)

可以看出 fig.subplots_adjust 根本不起作用。

我使用的是 WinPython 3.3.2.3 64 位,matplotlib 版本 1.3.0 和 CPython 3.3。这发生在 IPython Notebook 中。后端是内联的。笔记本的输出是完整的,但是输出文件裁剪不当。在 notebook 和保存的文件中, subplots_adjust 命令无效。

上面代码的输出

python matplotlib ipython-notebook

4
推荐指数
1
解决办法
2511
查看次数

jQuery mobile:数据角色和角色/类之间的区别

我是jQuery和网页设计的新手,请原谅我提出这个天真的问题.

最新的jQuery移动网站上,他们举例如下:

<div role="main" class="ui-content">
    <p>Page content goes here.</p>
</div><!-- /content -->
Run Code Online (Sandbox Code Playgroud)

对一些旧的,他们有:

 <div data-role="content">
     <p>Page content goes here.</p>
 </div>
Run Code Online (Sandbox Code Playgroud)

我的问题是:1)这只是一个版本问题,对于新版本,第一种情况比第二种情况更受欢迎吗?

我个人觉得有点不舒服,因为我有data-role="page",或者"header",或者"footer",但是对于中间人来说是不一致的.

2)我试图在他们的API文档中找到这个部分,但找不到它 - role="main"class="ui-content"?的单独角色是什么?我认为数据角色只是让jQuery在pagecreate中应用类,在这种情况下,是role="main"做同样的事情吗?如果是,为什么他们同时使用两者?

我知道第二个问题是一个非常大的问题,只要有人能指出我可以解释的文档链接,我就会非常感激.

谢谢!

html css jquery jquery-mobile

4
推荐指数
1
解决办法
3351
查看次数

pyplot等效于matplotlib中的pl.cm.Spectral

我一直在使用pylab的代码,它工作正常:

import pylab as pl
colors = pl.cm.Spectral(np.linspace(0, 1, 10))
Run Code Online (Sandbox Code Playgroud)

但是,我想摆脱pylab,因为在文档中它说"通信首选接口通常是非交互式绘图的首选".所以我试着用matplotlib.cm但却找不到相同的东西.任何人都可以帮我这个吗?

谢谢!

python matplotlib scipy

4
推荐指数
1
解决办法
8726
查看次数

是否有一个python库来生成用于3D打印的STL文件?

我目前正处于需要完成大量3D打印设计的项目中.它们都是参数化的,所以我想写一个python代码来为我生成那些设计文件(.STL格式).我想知道,是否有一个python包可以做到这一点?因为目前我正在使用SolidWorks手工完成这些工作.

谢谢!

python rapid-prototyping

4
推荐指数
1
解决办法
3300
查看次数

Fortran数组不能在函数中返回:不是DUMMY变量

作为Fortran 90自由格式的新手,我真的很想知道为什么下面的代码片段不起作用:

program test2
    implicit none
    !!! A program to practice f90 writing.
    ! Define double precision data
    integer, parameter :: dp = kind(1.d0)
    real(dp) :: a(3), b(3)
    integer :: i
    a = (/(i, i=1, 3)/)
    b = (/(i, i=1, 3)/)
    write (*, *) m31tensorprod(a, b)

contains
    function m31tensorprod(a, b)
        real(dp), dimension(3), intent(in) :: a, b
        real(dp), intent(out) :: m31tensorprod(3, 3)
        integer :: k1, k2
        forall(k1=1:3, k2=1:3)
            m31tensorprod(k1, k2) = a(k1) * b(k2)
        end forall
        return
    end function m31tensorprod
end …
Run Code Online (Sandbox Code Playgroud)

fortran gfortran fortran90

4
推荐指数
1
解决办法
4504
查看次数

使用 mathml 将 sympy 方程输出到单词

似乎 MathML 可以通过简单的复制和粘贴字符串来处理我的单词,例如

<math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mn>1</mn><mn>2</mn></mfrac></math>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用sympy的 mathml 打印机时:

from sympy import S
from sympy.printing.mathml import mathml
my_eqn = S(1) / 2
print(mathml(my_eqn))
Run Code Online (Sandbox Code Playgroud)

输出是:

<apply><divide/><cn>1</cn><cn>2</cn></apply>
Run Code Online (Sandbox Code Playgroud)

而且我无法将其复制并粘贴到 Word 中以使其成为 Word 方程式。

有人可以帮忙吗?

python mathml sympy scipy

4
推荐指数
1
解决办法
1326
查看次数