小编Nik*_*war的帖子

等待进程直到所有子进程完成?

我有一个创建两个或更多子流程的主流程,我希望主流程等到所有子流程完成其操作并退出?

 # main_script.py

 p1 = subprocess.Popen(['python script1.py']) 
 p2 = subprocess.Popen(['python script2.py'])
 ... 
 #wait main process until both p1, p2 finish
 ...
Run Code Online (Sandbox Code Playgroud)

python subprocess ipc

69
推荐指数
2
解决办法
14万
查看次数

理解Python中的元类和继承

关于元类,我有些困惑.

继承

class AttributeInitType(object):

   def __init__(self,**kwargs):
       for name, value in kwargs.items():
          setattr(self, name, value)

class Car(AttributeInitType):

    def __init__(self,**kwargs):
        super(Car, self).__init__(**kwargs)
    @property
    def description(self):
       return "%s %s %s %s" % (self.color, self.year, self.make, self.model)

c = Car(make='Toyota', model='Prius', year=2005, color='green')
print c.description
Run Code Online (Sandbox Code Playgroud)

与元类

class AttributeInitType(type):
   def __call__(self, *args, **kwargs):
       obj = type.__call__(self, *args)
       for name, value in kwargs.items():
           setattr(obj, name, value)
       return obj

class Car(object):
   __metaclass__ = AttributeInitType

   @property
   def description(self):
       return "%s %s %s %s" % (self.color, self.year, self.make, self.model) …
Run Code Online (Sandbox Code Playgroud)

python inheritance metaclass

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

Spring bean destroy-method,singleton和prototype范围

我是Spring框架的新手,从一些教程开始学习它.

我有以下文件,

#MainProgram.java

package test.spring;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainProgram {
        public static void main(String[] args) {
              AbstractApplicationContext context = 
                              new ClassPathXmlApplicationContext("Bean.xml");     
              HelloSpring obj = (HelloSpring) context.getBean("helloSpring");
              obj.setMessage("My message");
              obj.getMessage();
              context.registerShutdownHook();

        }
 }
Run Code Online (Sandbox Code Playgroud)

#HelloSpring.java

package test.spring;

public class HelloSpring   {
     private String message;

     public void setMessage(String message){
      this.message  = message;
      System.out.println("Inside setMessage");
   }

   public void getMessage(){
      System.out.println("Your Message : " + this.message);
   }

   public void xmlInit() {
    System.out.println("xml configured  initialize");
   } 

    public void xmlDestroy() {
    System.out.println("xml configured destroy"); …
Run Code Online (Sandbox Code Playgroud)

java spring scope

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

Python:Java在python中抛出相同的东西

不是试图比较语言,而只是为了知识,

有没有办法throws在Python中拥有相同的java 关键字/功能?

或者我们可以识别静态时间任何方法抛出的检查异常的方式?

或传递(链接)异常处理责任?

Java的:

public void someMethod() throws SomeException
{

}
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

@someDecorator  # any way to do?
def someMethod():
    pass
Run Code Online (Sandbox Code Playgroud)

python java exception-handling throws

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

获取文件的最后访问时间?

我想在上次访问文件时获取,我尝试了以下代码:

import os, time

os.system("python test.py")
print os.stat('test.py').st_atime

time.sleep(60)

os.system("python test.py")
print os.stat('test.py').st_atime
Run Code Online (Sandbox Code Playgroud)

但每次输出相同如下:

1358489344.72
1358489344.72
Run Code Online (Sandbox Code Playgroud)

我预计在延迟之前和延迟之后输出会有所不同.也输出相同我每次都运行代码.

什么可能是错的?

python inode file

7
推荐指数
1
解决办法
3442
查看次数

什么决定了流程的特权级别?

我听说过特权级别,环,特权指令,非特权指令,用户模式,内核模式,用户空间,内核空间.

用户进程将以低权限运行,其中OS进程更高,我也听说过负责一般保护的CPL寄存器.CPU也只知道CPL,并确定哪个页面指令属于哪个基础.

我想知道谁/什么最初决定了流程的权限级别?

当确定进程将以低或高权限级别运行时?在编译时?在装货?

什么告诉当前程序将以特定权限级别运行?段寄存器?叙?装载机?

operating-system privilege

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

带有可选dict键值的字符串格式

有没有办法用dict格式化字符串,但可选择没有键错误?

这很好用:

opening_line = '%(greetings)s  %(name)s !!!'
opening_line % {'greetings': 'hello', 'name': 'john'}
Run Code Online (Sandbox Code Playgroud)

但是,让我说我不知道​​这个名字,我想格式化上面的行只是为了'greetings'.就像是,

 opening_line % {'greetings': 'hello'}
Run Code Online (Sandbox Code Playgroud)

即使以下情况,输出也会很好:

'hii %(name)s !!!'  # keeping name un-formatted 
Run Code Online (Sandbox Code Playgroud)

但这会KeyError在拆包时给出

有什么办法吗?

python string-formatting

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

KeyError:'_ OrderedDict__root?

嗨,我有以下代码片段,它给出了KeyError.我已经检查了其他链接,指明make __init__ call to Ordered Dict我做了什么.但仍然没有运气.

from collections import OrderedDict

class BaseExcelNode(OrderedDict):
    def __init__(self):
        super(BaseExcelNode, self).__init__()
        self.start_row = -1
        self.end_row = -1
        self.col_no = -1

    def __getattr__(self, name):
        return self[name]

    def __setattr__(self, name, value):
        self[name] = value
BaseExcelNode()
Run Code Online (Sandbox Code Playgroud)

Error:

Traceback (most recent call last):
  File "CIMParser.py", line 29, in <module>
    BaseExcelNode()
  File "CIMParser.py", line 9, in __init__
    super(BaseExcelNode, self).__init__()
  File "C:\Python27\lib\collections.py", line 64, in __init__
    self.__root
  File "CIMParser.py", line 15, in __getattr__
    return self[name]
KeyError: '_OrderedDict__root'
Run Code Online (Sandbox Code Playgroud)

python ordereddictionary

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

Errno 104 Connection reset by peer` 错误

我有以下代码片段。以前它工作正常并且正在打印输出

但是现在当我确实在同一网络内更改了我的机器的物理位置位置时,我收到error: [Errno 104] Connection reset by peer错误 IP 与机器相同。

我使用的是 Scientific Linux 6.1

 operation='GET'
 url="/apifactory/api"
 url_request = "%s HTTP/1.1" %url
 connect = httplib.HTTPSConnection('myhost.com')
 try:
      connect.request(operation,url_request,'')
 except Exception,obj:
      connect.close()
      print traceback.format_exc()


 response_obj=connect.getresponse()
 data=response_obj.read()
 connect.close()
 print data


Traceback:
  File "/usr/local/lib/python2.7/ssl.py", line 121, in __init__
  self.do_handshake()
  File "/usr/local/lib/python2.7/ssl.py", line 281, in do_handshake
  self._sslobj.do_handshake()
  error: [Errno 104] Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

我试过 openssl s_client -connect myhost.com:443它给出:

  CONNECTED(00000003)
  write:errno=104
  no peer certificate available
  No client certificate CA names sent
  SSL handshake …
Run Code Online (Sandbox Code Playgroud)

python openssl httplib

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

httperf命令选项

我需要为apache执行3种类型的性能测试.

  1. 500请求/秒,持续60秒
  2. 1000个请求/秒,持续60秒
  3. 持续60秒的1500请求/秒

我浏览了httperf手册但是,我真的很困惑各种选项,如--rate, - num-call, - num-conn, - wsess

任何人都可以帮助我跟随:

如何指定持续时间以及如何配置--rate, - num-conn和--num-calls以便测试将在指定的持续时间内执行并具有指定的请求数/秒?

apache httperf

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