javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

python-SQLAlchemy,获取未绑定到会话的对象

我正在尝试从数据库中获取对象的集合,并将其传递给未连接到数据库的另一个进程。 我的代码看起来像下面的代码,但我不断得到:

sqlalchemy.exc.UnboundExecutionError: Instance <MyClass at 0x8db7fec> is not bound to a Session; attribute refresh operation cannot proceed

当我尝试查看get_list()方法之外的列表元素时。

def get_list (obj):
    sesson = Session()
    lst = session.query(MyClass).all()
    session.close()
    return lst

但是,如果我使用这个:

def get_list_bis (obj)
    session = Session()
    return session.query(MyClass).all()

我能够使用这些元素,但由于未关闭会话,因此担心会话的状态。

我在这里想念什么?

trans by 2020-01-20T05:42:29Z

在Mac OS X上安装了Python 3,但仍为Python 2.7

我目前在MacBook Pro上运行OS X Yosemite(10.10.2)...默认情况下,Apple在Yosemite上发布了Python 2.7.6。

刚刚下载并运行了适用于Python 3的安装程序:python-3.4.3-macosx10.6.pkg

当我打开终端并输入python时,结果如下:

Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

问题:

  1. 有人知道Python 3.4.3解释器的安装位置吗?
  2. 在将全局环境变量(例如PYTHON_HOME)设置为已安装的Python 3.4.3的位置之前,我是否需要卸载Python 2.7.3(如果这样做,该如何进行)?
trans by 2020-01-20T04:29:53Z

ipynb导入另一个ipynb fi

交互式Python(ipython)真是太神奇了,特别是当您将所有内容快速地拼凑在一起时...并且以易于返回的方式进行。

但是,似乎有趣的是具有多个ipython笔记本(ipynb文件)的用例。 似乎一个笔记本似乎不应该与其他笔记本有关系,这很有意义,只是我想导入其他ipynb文件。

我看到的唯一解决方法是将* .ipynb文件转换为* .py文件,然后可以将其导入到笔记本中。 只有一个文件可以容纳项目中的所有内容,这有点怪异,尤其是如果我想真正推动代码重用(这不是python的核心宗旨吗?)。

我想念什么吗? 这不是ipython笔记本的受支持用例吗? 我可以使用另一种解决方案将ipynb文件导入到另一个笔记本中吗? 我很想继续使用ipynb,但是现在我的工作流程真的很混乱:(

trans by 2020-01-20T03:18:33Z

python pandas从日期时间中提取年份--- df ['year'] = df ['date']。year不起作用

抱歉,这个问题似乎是重复的-我希望答案会让我觉得自己像骨头一样……但是我对使用类似问题的答案感到不满意。

我正在通过conda update pandas conda install pandas==0.15.2 conda install -f pandas导入数据,但是由于某种原因(我无法弄清),我无法从数据框系列df['date']中提取年份或月份。

date    Count
6/30/2010   525
7/30/2010   136
8/31/2010   125
9/30/2010   84
10/29/2010  4469

df = pd.read_csv('sample_data.csv',parse_dates=True)

df['date'] = pd.to_datetime(df['date'])

df['year'] = df['date'].year
df['month'] = df['date'].month

但这返回:

AttributeError:“系列”对象没有属性“年份”

提前致谢。

更新:

df = pd.read_csv('sample_data.csv',parse_dates=True)

df['date'] = pd.to_datetime(df['date'])

df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month

这将生成相同的“ AttributeError:“ Series”对象没有属性“ dt””

跟进:

我正在将Spyder 2.3.1与Python 3.4.1 64位一起使用,但是无法将熊猫更新为较新的版本(当前为0.14.1)。 以下每个都会生成无效的语法错误:

conda update pandas

conda install pandas==0.15.2

conda install -f pandas

有任何想法吗?

trans by 2020-01-20T01:24:40Z

在Python脚本中执行curl命令

我正在尝试在python脚本中执行curl命令。

如果我在终端中执行此操作,则如下所示:

curl -X POST -d  '{"nw_src": "10.0.0.1/32", "nw_dst": "10.0.0.2/32", "nw_proto": "ICMP", "actions": "ALLOW", "priority": "10"}' http://localhost:8080/firewall/rules/0000000000000001

我已经看到使用pycurl的建议,但是我不知道如何将其应用于我的。

我尝试使用:

subprocess.call([
    'curl',
    '-X',
    'POST',
    '-d',
    flow_x,
    'http://localhost:8080/firewall/rules/0000000000000001'
])

可以,但是还有更好的方法吗?

trans by 2020-01-20T00:42:53Z

统计-python中z得分的概率,反之亦然

我有numpy,statsmodel,pandas和scipy(我认为)

如何计算p值的z得分,反之亦然?

例如,如果我的p值为0.95,我应该得到1.96的回报。

我在scipy中看到了一些函数,但是它们仅在数组上运行z测试。

trans by 2020-01-19T22:53:55Z

python-朱莉娅的平行 特点和局限性

Julia的原始作者在arXiv论文中提到以下内容:

2.14 Parallelism。   并行执行由在标准库中的Julia中实现的基于消息的多处理系统提供。   语言设计通过以下方式支持此类库的实现:   提供对称的协程,也可以认为是   协同调度的线程。 此功能允许异步   通讯隐藏在库中,而不是要求   用户设置回调。 Julia目前不支持本机   线程,这是一个限制,但具有避免   共享内存同步使用的复杂性。

他们说Julia不支持本机线程是什么意思? 什么是本机线程?

其他解释语言(例如Python或R)是否支持这种并行性? 朱莉娅独自一人吗?

trans by 2020-01-19T21:06:34Z

winapi-如何在python中使用win32 API?

如何在Python中使用win32 API?
最好和最简单的方法是什么?
你能提供一些例子吗?

trans by 2020-01-19T21:03:48Z

python-将另一个元组添加到元组的元组

我有以下元组元组:

my_choices=(
         ('1','first choice'),
         ('2','second choice'),
         ('3','third choice')
)

我想在它的开头添加另一个元组

another_choice = ('0', 'zero choice')

我怎样才能做到这一点?

结果将是:

final_choices=(
             ('0', 'zero choice')
             ('1','first choice'),
             ('2','second choice'),
             ('3','third choice')
    )
trans by 2020-01-19T20:55:32Z

python-使用PIL使文本居中对齐/居中对齐?

使用PIL时,如何将文本居中对齐(和中间垂直对齐)?

trans by 2020-01-19T20:37:21Z

python-什么是%pylab?

我一直看到人们在各种代码片段中使用%pylab,尤其是在iPython中。 但是,我看不到《学习Python》(以及我所拥有的其他几本Python书)中任何地方提到%pylab的地方,并且我不确定这意味着什么。

我敢肯定答案很简单,但是有人能启发我吗?

trans by 2020-01-19T18:50:27Z

python-熊猫:通过实验室获取唯一的MultiIndex级别值

假设您有以下MultiIndex版本的DataFrame:

df = pd.DataFrame({'co':['DE','DE','FR','FR'],
                   'tp':['Lake','Forest','Lake','Forest'],
                   'area':[10,20,30,40],
                   'count':[7,5,2,3]})
df = df.set_index(['co','tp'])

看起来像这样:

           area  count
co tp
DE Lake      10      7
   Forest    20      5
FR Lake      30      2
   Forest    40      3

我想检索每个索引级别的唯一值。 这可以通过使用

df.index.levels[0]  # returns ['DE', 'FR]
df.index.levels[1]  # returns ['Lake', 'Forest']

我真正想做的是通过按名称(即'co''tp')寻址这些级别来检索这些列表。我能找到的最短的两种方法如下所示:

list(set(df.index.get_level_values('co')))  # returns ['DE', 'FR']
df.index.levels[df.index.names.index('co')]  # returns ['DE', 'FR']

但是他们都不是非常优雅。 有没有更短的方法?

trans by 2020-01-19T18:18:39Z

Elasticsearch:如何使用python删除索引

如果这是很基本的内容,请原谅我,但是我有Python 2.7和Elasticsearch 2.1.1,我只是想使用删除索引

es.delete(index='researchtest', doc_type='test')

但这给了我

return func(*args, params=params, **kwargs)
TypeError: delete() takes at least 4 arguments (4 given)

我也试过

es.delete_by_query(index='researchtest', doc_type='test',body='{"query":{"match_all":{}}}')

但我明白了

AttributeError: 'Elasticsearch' object has no attribute 'delete_by_query'

知道为什么吗? API是否已针对python 2.1.1更改?

[https://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch.client.IndicesClient.delete]

trans by 2020-01-19T13:25:37Z

Python 3-pickle可以处理大于4GB的字节对象吗?

根据此注释和参考文档,Python 3.4+的Pickle 4.0+应该能够腌制大于4 GB的字节对象。

但是,在Mac OS X 10.10.4上使用python 3.4.3或python 3.5.0b2,当我尝试腌制一个大字节数组时出现错误:

>>> import pickle
>>> x = bytearray(8 * 1000 * 1000 * 1000)
>>> fp = open("x.dat", "wb")
>>> pickle.dump(x, fp, protocol = 4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument

我的代码中有错误吗?还是我误解了文档?

trans by 2020-01-19T12:51:23Z

在Python多处理中将Pool.map与共享内存数组结合

我有一个很大的(只读)数据数组,我想由多个进程并行处理。

我喜欢Pool.map函数,并希望使用它来并行计算该数据上的函数。

我看到可以使用Value或Array类在进程之间使用共享内存数据。 但是当我尝试使用它时,我得到一个RuntimeError:'使用Pool.map函数时,应该仅通过继承在进程之间共享SynchronizedString对象:

这是我尝试做的一个简化示例:

from sys import stdin
from multiprocessing import Pool, Array

def count_it( arr, key ):
  count = 0
  for c in arr:
    if c == key:
      count += 1
  return count

if __name__ == '__main__':
  testData = "abcabcs bsdfsdf gdfg dffdgdfg sdfsdfsd sdfdsfsdf"
  # want to share it using shared memory
  toShare = Array('c', testData)

  # this works
  print count_it( toShare, "a" )

  pool = Pool()

  # RuntimeError here
  print pool.map( count_it, [(toShare,key) for key in ["a", "b", "s", "d"]] )

有人可以告诉我我在做什么错吗?

因此,我想做的是将有关新创建的共享内存分配数组的信息传递给已在进程池中创建的进程。

trans by 2020-01-19T11:48:55Z

如果import语句仅包含文件名,python如何找到模块文件?

我到处都看到使用import sysimport mymodule的Python代码导入模块

如果没有提供目录或路径,解释器如何找到正确的文件?

trans by 2020-01-19T08:40:40Z

numpy-在给定稀疏矩阵数据的情况下,Python中计算余弦相似度的最快方法是什么?

给定稀疏的矩阵列表,计算矩阵中各列(或行)之间的余弦相似度的最佳方法是什么? 我宁愿不重复两次选择。

说输入矩阵为:

A= 
[0 1 0 0 1
 0 0 1 1 1
 1 1 0 1 0]

稀疏表示为:

A = 
0, 1
0, 4
1, 2
1, 3
1, 4
2, 0
2, 1
2, 3

在Python中,使用矩阵输入格式很简单:

import numpy as np
from sklearn.metrics import pairwise_distances
from scipy.spatial.distance import cosine

A = np.array(
[[0, 1, 0, 0, 1],
[0, 0, 1, 1, 1],
[1, 1, 0, 1, 0]])

dist_out = 1-pairwise_distances(A, metric="cosine")
dist_out

给出:

array([[ 1.        ,  0.40824829,  0.40824829],
       [ 0.40824829,  1.        ,  0.33333333],
       [ 0.40824829,  0.33333333,  1.        ]])

对于全矩阵输入来说,这很好,但是我真的想从稀疏表示开始(由于矩阵的大小和稀疏性)。 关于如何最好地实现的任何想法? 提前致谢。

trans by 2020-01-19T08:17:31Z

如何使用PPK公钥通过SSH Paramiko SSH连接

我正在使用Paramiko通过ssh连接到服务器。

基本身份验证效果很好,但是我不明白如何使用公钥进行连接。

当我连接腻子时,服务器告诉我这一点:

Using username "root".
Authenticating with public key "rsa-key@ddddd.com"
Passphrase for key "rsa-key@ddddd.com": [i've inserted the passphrase here]
Last login: Mon Dec  5 09:25:18 2011 from ...

我用这个ppk文件连接到它:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key@dddd.com
Public-Lines: 4
[4 lines key]
Private-Lines: 8
[8 lines key]
Private-MAC: [hash]

使用基本身份验证,我从日志中得到的错误是:

DEB [20111205-09:48:44.328] thr=1   paramiko.transport: userauth is OK
DEB [20111205-09:48:44.927] thr=1   paramiko.transport: Authentication type (password) not permitted.
DEB [20111205-09:48:44.927] thr=1   paramiko.transport: Allowed methods: ['publickey', 'gssapi-with-mic']

我尝试包含该ppk文件并将其设置为auth_public_key,但是没有用。

你能帮助我吗?

trans by 2020-01-19T06:57:38Z

对象-使用self.xxxx作为默认参数-Python

我试图简化我的一项家庭作业问题,并使代码更好一点。 我正在使用的是二进制搜索树。 现在,我在makeList()类中有一个函数,该函数可以查找所有元素并将它们放入列表中。

tree = Tree()
#insert a bunch of items into tree

然后我使用makeList()函数从树中取出所有节点并将它们放在列表中。要调用makeList()函数,我需要tree.makeList()。对我来说,这似乎有点重复。 我已经用tree.来调用树对象,所以tree.root只是浪费一些输入。

现在,makeList函数为:

    def makeList(self, aNode):
        if aNode is None:
            return []
        return [aNode.data] + self.makeList(aNode.lChild) + self.makeList(aNode.rChild)

我想让aNode输入一个默认参数,例如makeList()(这不起作用),这样我就可以用tree.makeList()来运行该函数。

第一个问题是,为什么这样不起作用?
第二个问题是,有没有一种方法可以起作用? 如您所见,makeList()函数是递归的,因此我无法在函数开头定义任何内容,否则会遇到无限循环。

编辑这是所有要求的代码:

class Node(object):
    def __init__(self, data):
        self.data = data
        self.lChild = None
        self.rChild = None

class Tree(object):
    def __init__(self):
        self.root = None

    def __str__(self):
        current = self.root

    def isEmpty(self):
        if self.root == None:
            return True
        else:
            return False

    def insert (self, item):
        newNode = Node (item)
        current = self.root
        parent = self.root

        if self.root == None:
            self.root = newNode
        else:
            while current != None:
                parent = current
                if item < current.data:
                    current = current.lChild
                else:
                    current = current.rChild

            if item < parent.data:
                parent.lChild = newNode
            else:
                parent.rChild = newNode

    def inOrder(self, aNode):
        if aNode != None:
            self.inOrder(aNode.lChild)
            print aNode.data
            self.inOrder(aNode.rChild)

    def makeList(self, aNode):
        if aNode is None:
            return []
        return [aNode.data] + self.makeList(aNode.lChild) + self.makeList(aNode.rChild)


    def isSimilar(self, n, m):
        nList = self.makeList(n.root)
        mList = self.makeList(m.root) 
        print mList == nList 
trans by 2020-01-19T06:38:10Z

foreach-使用Python在折叠中的每个文件上执行命令

我正在尝试创建一个Python脚本,该脚本将:

  1. 查看文件夹“ / input”
  2. 对于该文件夹中的每个视频,运行一个mencoder命令(以将其转码为我的手机上可播放的内容)
  3. mencoder完成运行后,删除原始视频。

这似乎不太难,但是我很讨厌python :)

关于脚本的外观有什么想法?

奖励问题:我应该使用

操作系统

要么

subprocess.call

Subprocess.call似乎允许使用更具可读性的脚本,因为我可以这样编写命令:

cmdLine = ['mencoder',              sourceVideo,              '-ovc',              '复制',              '-oac',              '复制',              '-ss',              '00:02:54',              '-endpos',               '00:00:54',              '-o',              destinationVideo]

编辑:好的,这可行:

import os, subprocess

bitrate = '100'
mencoder = 'C:\\Program Files\\_utilitaires\\MPlayer-1.0rc2\\mencoder.exe'
inputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\input'
outputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\output'

for fichier in os.listdir(inputdir):
    print 'fichier :' + fichier
    sourceVideo = inputdir + '\\' + fichier
    destinationVideo = outputdir + '\\' + fichier[:-4] + ".mp4"

    commande = [mencoder,
               '-of',
               'lavf',
               [...]
               '-mc',
               '0',

               sourceVideo,
               '-o',
               destinationVideo]

    subprocess.call(commande)

os.remove(sourceVideo)
raw_input('Press Enter to exit')

为了清楚起见,我删除了mencoder命令,因为我仍在处理它。

感谢大家的投入。

trans by 2020-01-19T04:43:26Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共312页