小编vks*_*vks的帖子

Python:如何在不同类的实例之间共享数据?

    Class BigClassA:
        def __init__(self):
            self.a = 3
        def foo(self):
            self.b = self.foo1()
            self.c = self.foo2()
            self.d = self.foo3()
        def foo1(self):
            # do some work using other methods not listed here
        def foo2(self):
            # do some work using other methods not listed here
        def foo3(self):
            # do some work using other methods not listed here

    Class BigClassB:
        def __init__(self):
            self.b = # need value of b from BigClassA
            self.c = # need value of c from BigClassA
            self.d = # need …
Run Code Online (Sandbox Code Playgroud)

python class instance-variables

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

self 对象会被 Python 的 multiprocessing.Process 共享吗?

我有一个 init 方法,它初始化各种原始和复杂的数据类型和对象。在 multiprocessing.Process 生成的每个进程中,我从 init() 方法打印一个变量和一个初始化对象的地址。我得到变量的不同实例,但对象的地址保持不变。那么,想知道在 multiprocessing.Process 调用期间父类的成员到底发生了什么?

def __init__(self):
    self.count = 0
    self.db = pymongo.MongoClient()

def consumerManager(self):
    for i in range(4):
        p = multiprocessing.Process(target = self.consumer, args = (i,))


def consumer(self, i):
    while(1):
        time.sleep(i)
        self.count += 1
        print self.count
        print os.getpid()
        print id(self.db)
Run Code Online (Sandbox Code Playgroud)

如果它正在执行对象的深层复制,那么id(self.db)应该在每个进程中打印不同的 id,但这种情况不会发生。这是怎么做到的?

python linux multiprocessing

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

找不到 script-runner.jar

以下是通过 EMR 安装和运行 Hive 的代码

args = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
    '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
    '--install-hive', '--hive-versions', '0.13.1']

args2 = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
     '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
     '--hive-versions', '0.13.1',
     '--run-hive-script', '--args',
     '-f', s3_url]

steps = []
for name, args in zip(('Setup Hive', 'Run Hive Script'), (args, args2)):
    step = JarStep(name,
               's3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar',
               step_args=args,
               # action_on_failure="CANCEL_AND_WAIT"
               )
# should be inside loop
    steps.append(step)
Run Code Online (Sandbox Code Playgroud)

现在,当我出于某种原因将其提供给 run_jobflow 时

我收到错误

Error fetching jar file. java.lang.RuntimeException: Error whilst fetching …

python boto amazon-emr

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

POSIX 扩展正则表达式中“空白”的特殊字符/转义是什么?

我对这个常规的exp概念很陌生。我正在尝试使用这个正则表达式

[^@\s]+$
Run Code Online (Sandbox Code Playgroud)

如果我将字符串指定为“abs”,它实际上排除了字符 's' 。这意味着 '\s' 被读取为字符 's' 而不是空格。请帮我解决这个问题

regex posix-ere

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

Sublime:替换引号之间的所有内容

我需要一些正则表达式的帮助来在Sublime中搜索和替换以执行以下操作.

我有HTML代码,链接像

 href="http://www.example.com/test=123" 
 href="http://www.example.com/test=6546" 
 href="http://www.example.com/test=3214" 
Run Code Online (Sandbox Code Playgroud)

我想用空链接替换它们:

 href="" 
 href="" 
 href="" 
Run Code Online (Sandbox Code Playgroud)

请帮我创建一个Reg.恩.过滤以匹配我的情况.我想这听起来像是"以引号开头,跟随http:// ....以引号结束并有数字和'='符号",但我对如何在Reg中写这个不太自信.恩.办法.

regex sublimetext2

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

从字符串粗体创建单词的某些字符

我需要突出显示字符串中的某些字符,我尝试了str_replace和preg_replace.但这些只有在输入完整单词时才有效,

$text = str_replace($searhPhrase, '<b>'.$searhPhrase.'</b>',  $text);
$text = preg_replace('/('. $searhPhrase .')/i', '<b>$1</b>', $text);
Run Code Online (Sandbox Code Playgroud)

我想要的东西,如果我搜索'和',即使来自'手'的字母也应该突出显示.

提前致谢.

php regex

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

正则表达式:只匹配括号外(以便文本不在括号内分割)?

我有一个目标字符串,如下所示:

"foo (foo, foofoo), bar (foobar), foo, bar (barbar, foo), bar, foo"
Run Code Online (Sandbox Code Playgroud)

而且我要:

["foo (foo, foofoo)", "bar (foobar)", "foo", "bar (barbar, foo)", "bar", "foo"]
Run Code Online (Sandbox Code Playgroud)

通过", " 仅在括号外分割目标.与括号外的逗号匹配的正则表达式是什么?在我的情况下,嵌套的括号不会出现,我不必考虑它们.

我个人使用Python,但任何语言示例都可以.

python regex

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

类继承

请考虑以下代码:

class A(object):
    a = []

    @classmethod
    def eat(cls, func):
        print "called", func
        cls.a.append(func)


class B(A):
    @A.eat
    def apple(self, x):
        print x

    A.eat(lambda x: x + 1)


print A.a
Run Code Online (Sandbox Code Playgroud)

输出: called <function apple at 0x1048fba28> called <function <lambda> at 0x1048fbaa0> [<function apple at 0x1048fba28>, <function <lambda> at 0x1048fbaa0>]

我希望A.a它是空的,因为我们甚至没有创建一个对象.2如何在这里添加函数?究竟是什么导致eat被调用的2时间?

python class

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

导入不起作用

我有两个文件说a.pyb.py.

在a.py中,我们这样做

import xxx
from b import *
Run Code Online (Sandbox Code Playgroud)

在b.py中我们有一个需要的功能module xxx.现在,当b.py从中调用函数时a.py,无法找到该模块xxx.

为什么这可以解决这个问题?我不能做import xxxb.py出于某种原因.

MCV:

a.py

import xxx
from b import *
fun()
Run Code Online (Sandbox Code Playgroud)

b.py

def fun():
    xxx.dosomething()
Run Code Online (Sandbox Code Playgroud)

错误:

Global name xxx not defined

python python-import

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

全面列表中的两个for循环

x = 'green apple'
L = []
for word in x.split():
    for letter in word:
        L.append(letter)
    print(L)
Run Code Online (Sandbox Code Playgroud)

以下产生我想要的内容,其中包含字符串x中的所有字母.如何在一个行代码中使用这两个for循环?

python loops list

3
推荐指数
2
解决办法
101
查看次数