小编gli*_*dud的帖子

如何在Perl 6中使用SQLite?

我想开始涉足Perl 6.我编程的很大一部分涉及SQLite数据库.看起来在Perl 6中使用SQLite已经付出了工作,但我能找到的大部分信息都陈旧而模糊.

在这里看到了一个"perl6-sqlite"模块,但它被标记为[old]并且几乎没有.我也看到了基于与Java有关的新DBI的引用,但大多数谈话都来自去年,目前还不清楚是否有一些有用的东西.

那么目前在Perl 6中使用SQLite是否可以接受?

sqlite perl6 raku

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

为什么截断默认不正确到文件的当前位置?

另一个问题的答案中,观察到一种奇怪的行为,特别是Python 3. 命令文档truncate说明(强调我的):

将流大小调整为给定大小(以字节为单位)(如果未指定大小,则调整当前位置).当前流位置不会更改.此大小调整可以扩展或减少当前文件大小.在扩展的情况下,新文件区域的内容取决于平台(在大多数系统上,额外的字节是零填充的).将返回新文件大小.

然而...

>>> open('temp.txt', 'w').write('ABCDE\nFGHIJ\nKLMNO\nPQRST\nUVWXY\nZ\n')
32
>>> f = open('temp.txt', 'r+')
>>> f.readline()
'ABCDE\n'
>>> f.tell()
6                   # As expected, current position is 6 after the readline
>>> f.truncate()
32                  # ?!
Run Code Online (Sandbox Code Playgroud)

它不是在当前位置(6)截断,而是在文件末尾截断(即根本不截断).通过检查磁盘上的文件来验证这一点.

此过程在Python 2中按预期工作(文件截断为6个字节),在Python 3中也使用StringIO而不是文件.为什么Python 3中的文件不能正常工作?这是一个错误吗?

(编辑:如果f.seek(6)truncate.之前给出显式,它也可以正常工作.)

python file-io python-3.x

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

如何将字节类对象转换为字符串对象

import serial
import numpy
import matplotlib.pyplot as plt
from drawnow import *

data = serial.Serial('com3',115200)
while True:
    while (data.inWaiting() == 0):
    pass
ardstr = data.readline()
print (ardstr)
Run Code Online (Sandbox Code Playgroud)

在这里,我试图从arduino获取数据,但它是以格式输入的b'29.20\r\n'。我想要以格式显示数据,"29.20"以便对其进行绘制。

我尝试过ardstr = str(ardstr).strip('\r\n')ardstr.decode('UTF-8') 但没有一个在工作。我的python版本是3.4.3。

我该怎么做才能得到结果"29.40"而不是"b'29.20\r\n'"

python matplotlib python-3.x arduino-uno

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

'kwargs' 在 python 装饰器中为空

我在下面运行了一个装饰器演示。

def logger(func):
    def inner(*args, **kwargs):
        print(args)
        print(kwargs)
        return func(*args, **kwargs)
    return inner

@logger
def foo1(a, b, c, x=2, y=1):
    print(x * y)

foo1(6,7,8)
Run Code Online (Sandbox Code Playgroud)

输出是:

(6, 7, 8)
{}
2
Run Code Online (Sandbox Code Playgroud)

为什么字典是空的?我认为应该是{'x':2, 'y':1}

python decorator

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

Sympy:导数和子

我有以下代码:

from sympy import *
x = Symbol("x")
f = Function("f")(x)
diff(3*x + 2, x) # == 3
diff(f, x).subs(f, 3*x + 2) # == Derivative(3*x + 2, x) <- Why not 3?
Run Code Online (Sandbox Code Playgroud)

为什么sympy不求我的时候取代了表达f与表达x

python sympy python-3.x

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

如何将原点置于 imshow() 图的中心

作为模拟通过孔径的衍射的长程序的一部分,我正在摆弄,试图让我的结果的plt.imshow()原点位于图的中心,即我希望改变轴。

相关代码部分是:

    n=40
    lam=0.0006
    k=(2*np.pi)/lam
    z=float(input("Type screen distance, z in mm: "))
    rho=float(input("Type rho in mm: "))

    delta = 2/n
    intensity = np.zeros((n+1,n+1))

    for i in range(n+1):
        x=-1+(i*delta)
        for j in range(n+1):
            y =-1+(j*delta)
            intensity[i,j] = (abs(square_2dsimpson_eval(-rho/2,rho/2,n)))**2  
    plt.imshow(intensity)
    plt.show()
Run Code Online (Sandbox Code Playgroud)

生成下图。提前致谢。 在此输入图像描述

matplotlib python-3.x

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

按住键时更改悬停样式

我已经设置了一个样式来翻转单单元格表格,例如:

<TABLE ONCLICK='goSomewhere("http://en.wiktionary.org/wiki/yes", "http://en.wiktionary.org/wiki/no")' CLASS="mybutton">
    <TR>
        <TD>This is a button</TD>
    </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

通过 CSS 插入按钮,例如:

table.mybutton {
    border : 1px solid;
    border-radius : 8px;
    border-spacing : 2px;
    font-size : 80%;
    display : inline-table;
    cursor : pointer;
}
table.mybutton:hover {
    background-color : black;
    color : white;
}
Run Code Online (Sandbox Code Playgroud)

根据是否通过此 Javascript 按住 Shift 键,我设法让它访问两个 URL 之一:

var shift = false;

function shiftHandler(event) {
    shift = event.shiftKey;
};

window.addEventListener("keydown", shiftHandler, false);
window.addEventListener("keypress", shiftHandler, false);
window.addEventListener("keyup", shiftHandler, false);

function goSomewhere(url1, url2) {
    if (shift) { …
Run Code Online (Sandbox Code Playgroud)

html javascript css

3
推荐指数
1
解决办法
3872
查看次数

在Python中向二维数组添加列

我正在尝试在 Python 中向二维数组添加额外的列,但我陷入困境。我有一个如下所示的二维数组:

['000', '101']
['001', '010']
['010', '000']
['011', '100']
Run Code Online (Sandbox Code Playgroud)

然后我交换第二列中的 2 个元素,得到如下内容:

['000', '101']
['001', '000']
['010', '010']
['011', '100']
Run Code Online (Sandbox Code Playgroud)

我想现在将最后一列添加为第三列,如下所示:

['000', '101', '101']
['001', '010', '000']
['010', '000', '010']
['011', '100', '100']
Run Code Online (Sandbox Code Playgroud)

但我只设法得到这个:

['000', '101']
['001', '000']
['010', '010']
['011', '100']
101
000
010
100
Run Code Online (Sandbox Code Playgroud)

我正在添加这样的列:

col = column(data,1)
data_res += col
Run Code Online (Sandbox Code Playgroud)

我正在创建一个像这样的数组:

with open('data.txt', 'r') as f:
     for line in f:
         line_el = line.split()
         data.append(line_el)
Run Code Online (Sandbox Code Playgroud)

我这样交换:

def swap(matrix, id_l, id_r):
    matrix[id_l][1], matrix[id_r][1] = matrix[id_r][1],matrix[id_l][1]
    return matrix …
Run Code Online (Sandbox Code Playgroud)

python arrays concatenation

3
推荐指数
1
解决办法
7727
查看次数

如何在 numpy.ndarray 上获得滚动 (window = 3).max()?

我有一个 numpy.ndarray 如下。这是 talib.RSI 的输出。这是 numpy.ndarray 的类型。我想获得滚动列表(windows=3).max() 和滚动列表(window=3).min

怎么做?

[         nan          nan          nan          nan          nan
          nan          nan          nan          nan          nan
          nan          nan          nan          nan  56.50118203
  60.05461743  56.99068148  55.70899949  59.2299361   64.19044898
  60.62186599  53.96346826  44.06538636  52.04519976  51.32884016
  58.65240379  60.44789401  58.94743634  59.75308787  53.56534397
  54.22091468  47.22502341  51.5425848   50.0923126   49.80608264
  45.69087847  50.07778871  54.21701441  58.79268406  63.59307774
  66.08195696  65.49255218  65.11035657  68.47403716  70.70530564
  73.21955929  76.57474822  65.89852612  66.51497688  72.42658468
  73.80944844  69.56561001]
Run Code Online (Sandbox Code Playgroud)

python numpy

3
推荐指数
1
解决办法
3562
查看次数

实习如何处理不可变对象?

如果我没记错的话a is b应该返回Trueifab指向同一个对象。对于两个相等的列表,它会返回False,因为这两个列表是两个不同的列表。我认为不可变对象没有这个问题,但是当我输入时:

a = (1, 2, 3)
b = (1, 2, 3)
a is b #returns false
Run Code Online (Sandbox Code Playgroud)

我认为这应该返回Truea指向b具有相同值的不可变对象。为什么我使用元组时没有a指向同一个对象b

python tuples immutability python-3.5

2
推荐指数
1
解决办法
310
查看次数