小编kyp*_*hos的帖子

命令提示符无法转义引号和大括号

我试图在命令提示符中执行以下行:

curl -X POST -d '{ "method" : "account_info", "params" : [ { "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"} ] }' http://s1.ripple.com:51234
Run Code Online (Sandbox Code Playgroud)

但是,我得到以下内容:

curl: (6) Could not resolve host: method
curl: (7) Failed connect to :80; No error
curl: (6) Could not resolve host: account_info,
curl: (6) Could not resolve host: params
curl: (7) Failed connect to :80; No error
curl: (3) [globbing] illegal character in range specification at pos 2
curl: (3) [globbing] unmatched brace at pos 2
curl: (6) Could not …
Run Code Online (Sandbox Code Playgroud)

quotes command escaping prompt curly-braces

39
推荐指数
2
解决办法
4万
查看次数

将装饰器应用于导入的函数?

我想导入一个函数:

from random import randint
Run Code Online (Sandbox Code Playgroud)

然后应用装饰器:

@decorator
randint
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一些语法糖(就像我上面所说的那样),或者我必须这样做:

@decorator
def randintWrapper(*args):
    return random.randint(*args)
Run Code Online (Sandbox Code Playgroud)

python function decorator python-decorators

28
推荐指数
1
解决办法
6898
查看次数

过滤numpy数组的行?

我希望将函数应用于numpy数组的每一行.如果此函数的计算结果为true,我将保留该行,否则我将丢弃该行.例如,我的功能可能是:

def f(row):
    if sum(row)>10: return True
    else: return False
Run Code Online (Sandbox Code Playgroud)

我想知道是否有类似的东西:

np.apply_over_axes()
Run Code Online (Sandbox Code Playgroud)

它将函数应用于numpy数组的每一行并返回结果.我希望有类似的东西:

np.filter_over_axes()
Run Code Online (Sandbox Code Playgroud)

它会将函数应用于numpy数组的每一行,并且只返回函数返回true的行.有这样的事吗?或者我应该只使用for循环?

python numpy filter

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

以编程方式获取当前的Ipython笔记本电脑输出?

我有一个在IPython笔记本(输入单元格X)中运行的导入函数,它产生一个输出(在输出单元格X中).函数运行后,我有更多的代码(也在输入单元格X中); 是否有任何方法可以检索当前输出(在输出单元格X中)?

可能有其他方法可以做我想要实现的目标; 但如果上述情况可能,我很好奇.

谢谢!

python ipython ipython-notebook

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

熊猫 - 是否可以read_csv没有quotechar?

我试图读取"某个行中有单个实例的csv文件,例如:

car,"plane,jet
jet,ski,"hat
Run Code Online (Sandbox Code Playgroud)

当我使用pandas read_csv读取此文件时,它会识别"为引用字符,并且无法正确读取上面的行.我用的时候根本就没有任何引用字符read_csv.

我尝试设置quotechar=None,quotechar=''但两者都吐出一个错误,因为quotechar必须是一个长度为1的字符串.使用时是否有可能没有一个quotechar read_csv

谢谢!

python quotes pandas

15
推荐指数
2
解决办法
9673
查看次数

使用带有修饰函数的多处理会导致 PicklingError

我正在尝试基于multiprocessing库编写一个方便的函数,它接受任何函数和参数,并使用多个进程运行该函数。我正在导入以下文件“MultiProcFunctions.py”:

import multiprocessing
from multiprocessing import Manager

def MultiProcDecorator(f,*args):

    """
    Takes a function f, and formats it so that results are saved to a shared dict
    """

    def g(procnum,return_dict,*args):
        result = f(*args)
        return_dict[procnum] = result

    return g

def MultiProcFunction(f,n_procs,*args):
    """
    Takes a function f, and runs it in n_procs with given args
    """

    manager     = Manager()
    return_dict = manager.dict()

    jobs = []
    for i in range(n_procs):
        p = multiprocessing.Process( target = f, args = (i,return_dict) + args ) …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

6
推荐指数
1
解决办法
1572
查看次数

芹菜 - 完成任务但永远不会返回结果

我刚刚安装了Celery,我正在尝试按照教程:

我有一个名为tasks.py的文件,其中包含以下代码:

from celery import Celery

app = Celery('tasks', backend='amqp', broker='amqp://')

@app.task
def add(x, y):
    return x + y
Run Code Online (Sandbox Code Playgroud)

我安装了RabitMQ(我没有配置它,因为教程没有提到任何类似的东西).

我按如下方式运行芹菜工作服务器:

celery -A tasks worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)

它似乎正常启动(这是输出:http://i.imgur.com/qnoNCzJ.png)

然后我运行以下脚本:

from tasks import add
from time import sleep

result = add.delay(2,2)

while not result.ready():
    sleep(10)
Run Code Online (Sandbox Code Playgroud)

当我检查时,result.ready()我总是得到假(所以上面的while循环永远运行).然而,在Celery日志上,一切看起来都很好:

[2014-10-30 00:58:46,673: INFO/MainProcess] Received task: tasks.add[2bc4ceba-1319-49ce-962d-1ed0a424a2ce]
[2014-10-30 00:58:46,674: INFO/MainProcess] Task tasks.add[2bc4ceba-1319-49ce-962d-1ed0a424a2ce] succeeded in 0.000999927520752s: 4
Run Code Online (Sandbox Code Playgroud)

所以这项任务得到了回应,并取得了成功.然而,result.ready()仍然是假的.任何有关为什么会这样的见解?我在Windows 7上,正在使用RabbitMQ.提前致谢.

python multiprocessing celery

6
推荐指数
2
解决办法
4690
查看次数

熊猫-编写包含Unicode的Excel文件-IllegalCharacterError

我有以下代码:

import pandas as pd

x = [u'string with some unicode: \x16']
df = pd.DataFrame(x)
Run Code Online (Sandbox Code Playgroud)

如果我尝试将此数据帧写为excel文件:

df.to_excel("test.xlsx")
Run Code Online (Sandbox Code Playgroud)

或者,如果我尝试使用utf-8编码将此数据帧写为excel文件:

ew = pd.ExcelWriter('test.xlsx',options={'encoding':'utf-8'})
df.to_excel(ew)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

IllegalCharacterError                     Traceback (most recent call last)
<ipython-input-4-62adec25ae8d> in <module>()
      1 ew = pd.ExcelWriter('test.xlsx',options={'encoding':'utf-8'})
      2 #df.to_excel("test.xlsx")
----> 3 df.to_excel(ew)

/usr/local/lib/python2.7/dist-packages/pandas/util/decorators.pyc in wrapper(*args, **kwargs)
     86                 else:
     87                     kwargs[new_arg_name] = new_arg_value
---> 88             return func(*args, **kwargs)
     89         return wrapper
     90     return _deprecate_kwarg

/usr/local/lib/python2.7/dist-packages/pandas/core/frame.pyc in to_excel(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep)
   1258 …
Run Code Online (Sandbox Code Playgroud)

python unicode export-to-excel pandas

6
推荐指数
4
解决办法
7626
查看次数

如何让Django urls.py识别url中的#(hash)?

假设我希望以下网址与django视图匹配urls.py:www.mysite.com/cake/#vanilla

urls.py我有这样的事情:

url('^cake/#.*/$', app.views.view ),
Run Code Online (Sandbox Code Playgroud)

所以基本上我想要所有以root开头的url:www.mysite.com/cake/#由这个视图处理.但是,django urls似乎将#视为%23,因此所有具有root的URL www.mysite.com/cake/%23都由该视图处理.如何将哈希登录url('^cake/#.*/$', app.views.view )视为实际哈希符号而不是%23?

谢谢你的帮助!

regex django url hash django-urls

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

Python多处理apply_async永远不会在Windows 7上返回结果

我试图遵循一个非常简单的多处理示例:

import multiprocessing as mp

def cube(x):
    return x**3

pool    = mp.Pool(processes=2)
results = [pool.apply_async(cube, args=x) for x in range(1,7)]
Run Code Online (Sandbox Code Playgroud)

但是,在我的Windows机器上,我无法获得结果(在ubuntu 12.04LTS上运行完美).

如果我检查results,我看到以下内容:

[<multiprocessing.pool.ApplyResult object at 0x01FF0910>,
 <multiprocessing.pool.ApplyResult object at 0x01FF0950>,
 <multiprocessing.pool.ApplyResult object at 0x01FF0990>,
 <multiprocessing.pool.ApplyResult object at 0x01FF09D0>,
 <multiprocessing.pool.ApplyResult object at 0x01FF0A10>,
 <multiprocessing.pool.ApplyResult object at 0x01FF0A50>]
Run Code Online (Sandbox Code Playgroud)

如果我跑,results[0].ready()我总是得到False.

如果我运行results[0].get()python解释器冻结,等待获得永远不会到来的结果.

这个例子很简单,所以我认为这是一个与操作系统相关的低级错误(我在Windows 7上).但也许别人有更好的主意?

python windows multiprocessing

5
推荐指数
2
解决办法
8223
查看次数

R函数检查另一个函数中的参数个数?

是否有内置的R函数或编写R函数的方法,可以检查另一个函数的输入数量,还列出了可选参数的名称.

让我们调用这个所需的函数f,然后执行以下命令:

f(dnorm)
Run Code Online (Sandbox Code Playgroud)

应该输出

4
Run Code Online (Sandbox Code Playgroud)

mean, sd, log
Run Code Online (Sandbox Code Playgroud)

由于有4个参数与'dnorm'和3个可选参数相关联:mean,sd,log.

或者这可能不可能?任何见解都表示赞赏!

r function

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

如何找出 python 函数返回的输出数量?

假设有两个 Python 函数:

def f1(x):
    return x

def f2(x):
    return x,x**2
Run Code Online (Sandbox Code Playgroud)

我想知道 . 返回了多少个输出f1以及 . 返回了多少个输出f2

我想避免以下解决方案:

result = f1(1)
no_outputs = len(result) if type(result) == tuple else 1
Run Code Online (Sandbox Code Playgroud)

由于当函数返回元组时此解决方案会失败。

我开始使用 python ast(抽象语法树)库,并且想知道是否有任何方法可以解析函数的语法树以计算出返回的输出数量?

大致如下:

import inspect
import ast

src = inspect.getsourcelines(f1)[0]

string = ''.join(src)
ast_   = ast.parse(string)
Run Code Online (Sandbox Code Playgroud)

我探索过ast_但无法找到回报是什么。

python function abstract-syntax-tree output

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

Python - 替换部分正则表达式?

我有以下代码:

import re
s = "Example {String}"
replaced = re.sub('{.*?}', 'a', s)
print replaced
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:

Example a

有没有办法修改正则表达式,以便打印:

Example {a}

那就是我想只替换.*部分并保留所有周围的字符.但是,我需要周围的字符来定义我的正则表达式.这可能吗?

python regex

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