小编Ret*_*sam的帖子

Python输入有效性和使用断言

我正在尝试对我的python代码执行良好的输入有效性检查,但我也希望它简洁.也就是说,我想要的解决方案就是这个:

def some_func(int_arg, str_arg, other_arg):
    try:
        int_arg = int(int_arg)
    except TypeError, ValueError
        logging.error("int_arg must respond to int()")
        raise TypeError
    try:
        if str_arg is not None:
            str_arg = str(str_arg) 
    except TypeError
        logging.error("Okay, I'm pretty sure this isn't possible, bad example")
        raise TypeError
    if other_arg not in (VALUE1, VALUE2, VALUE3):
        logging.error("other arg must be VALUE1, VALUE2, or VALUE3")
        raise TypeError
Run Code Online (Sandbox Code Playgroud)

这只是太多的代码和很多空间,只需要检查3个参数.

我目前的做法是:

def some_func(int_arg, str_arg, other_arg):
    try:
        int_arg = int(int_arg)  #int_arg must be an integer
        str_arg is None or str_arg …
Run Code Online (Sandbox Code Playgroud)

python validation assert

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

Node.js可读文件流未获取数据

我正在尝试创建一个可读文件流,我可以从中读取单个字节。我正在使用下面的代码。

var rs = fs.createReadStream(file).on('open', function() {
    var buff = rs.read(8); //Read first 8 bytes
    console.log(buff);
});
Run Code Online (Sandbox Code Playgroud)

给定该文件是至少8个字节的现有文件,为什么我得到的输出为“ null”?

stream node.js

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

批处理脚本,用于删除基于findstr正则表达式的文件

我正在尝试使用批处理脚本删除一些基于正则表达式的文件.我有的是:

FOR /f "tokens=*" %%a in ('dir /b | findstr MY_REGEX_HERE') DO ECHO %%a 
Run Code Online (Sandbox Code Playgroud)

我知道我的内部命令可以单独工作,给我目录列表,但是当我将它嵌入到for循环中时,我得到一个错误| was unexpected at this time. 在FOR循环命令中不允许使用管道?或者我需要逃避它或什么?

任何有关如何做到这一点的帮助都会很棒.

windows batch-file findstr

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

在Java中将多个参数作为单个参数传递

我以前见过它的一个例子,但我从来没有找到任何好的参考资料来处理它.我知道可以传入几个参数,例如,通过将方法定义为

public void aMethod(int...a)  
Run Code Online (Sandbox Code Playgroud)

但我不知道有什么比这更重要的了.我见过一个例子,它返回了通过的平均值.
这是传递参数的过时方式吗?使用它甚至可以接受吗?这样做时的语法究竟是什么?(一些参考资料会很棒)

java parameters

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

Unpickle有时会制作空白物体

我正在尝试使用pickle来保存自定义类; 与下面的代码非常相似的东西(虽然在类上定义了一些方法,还有几个dicts等数据).但是,通常当我运行它,pickle然后unpickle时,我会丢失类中的所有数据,并且就好像我创建了一个新的空白实例.

import pickle
class MyClass:
    VERSION = 1
    some_data = {}
    more_data = set()

    def save(self,filename):
        with open(filename, 'wb') as f:
            p = pickle.Pickler(f)
            p.dump(self)

    def load(filename):
        with open(filename,'rb') as ifile:
            u = pickle.Unpickler(ifile)
            obj = u.load()
            return obj
Run Code Online (Sandbox Code Playgroud)

我想知道这是否与泡菜类的备忘录有关,但我觉得不应该这样做.当它不起作用时,我会查看我生成的文件,它看起来像这样:(显然不是可读的,但它显然不包含数据)

€c__main__
MyClass
q

无论如何,我希望这足以让某人了解这里可能会发生什么,或者看什么.

python serialization pickle

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