小编jsb*_*eno的帖子

为什么calcsize("!BHB")和calcsize("BHB")之间存在差异?

在python 2.4.3中使用struct模块为什么calcsize("!BHB")和calcsize("BHB")之间存在差异?由此; 什么时候

from struct import *
calcsize("!BHB") == 4
calcsize("BHB") == 5
Run Code Online (Sandbox Code Playgroud)

我理解big endian和little endian概念,但是对于上述格式的字节位置而言并没有真正理解它.

python struct

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

在python中将unicode字符打印到stdout会打印错误的字形

我想在命令提示终端上打印一组Unicode字符.即使我强制编码为"UTF-8",终端也会打印一些垃圾.

$python -c "import sys; print sys.stdout.write(u'\u2044'.encode('UTF-8'))"
?üäNone

$python -c "import sys; print sys.stdout.encoding"
cp437
Run Code Online (Sandbox Code Playgroud)

我的默认终端编码是cp437,我试图覆盖它.这里的预期输出是分数斜杠(/)

http://www.fileformat.info/info/unicode/char/2044/index.htm

同一段代码在我的Mac终端中完美运行,它使用UTF-8作为默认编码.有没有办法在Windows上显示这个?我在Windows命令提示符上使用的字体是consolas.

我希望我的代码可以使用任何Unicode字符,而不仅仅是这个特定的例子,因为输入是一个Web查询结果,我无法控制它.

python windows terminal utf

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

AngularJS:在$ scope中搜索匹配值

我有一个页面,我想打印一些标签的值,我已经在JSON对象中:

$scope.countries = [
        {
            "key": "NL",
            "value": "Netherlands"
        },
        {
            "key": "BE",
            "value": "Belgium"
        },
        {
            "key": "TR",
            "value": "Turkey"
        },
        {
            "key": "PL",
            "value": "Poland"
        }
    ]
Run Code Online (Sandbox Code Playgroud)

所以我在范围内有国家/地区代码,并希望使用过滤器来替换实际国家/地区名称的代码.因此我实现了这样的过滤器:

 {{formulier.country | fetchname }} 
Run Code Online (Sandbox Code Playgroud)

我正在尝试构建的过滤器应该在上面的国家/地区范围内搜索国家/地区代码(密钥),并返回这些(值)的国家/地区名称.我开始使用这个过滤器,但不幸的是我没有让它工作.

app.filter('fetchname', function() {
    return function(input, all) {
        angular.forEach($scope.countries, function(key, value) {
            if (key === input) {
                return value;
            }
        });
    }
  });
Run Code Online (Sandbox Code Playgroud)

我必须对我的过滤器进行哪些更改才能在AngularJS中使用它?如何将'NL'替换为'荷兰'?

javascript angularjs angularjs-scope

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

du命令和Python函数之间的文件大小差异

我有一个脚本,每晚运行一次,以将大量内容存储在服务器上的特定目录中。这是我用于该核心部分的功能:

def get_size(start_path = '.'):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(start_path):
        for f in filenames:
            try:
                fp = os.path.join(dirpath, f)
                total_size += os.path.getsize(fp)
                print str(total_size)+" bytes / "+str(size(total_size))+" counted"+" <------------ current position: "+start_path+" : "+f
                for location in locations_dict:
                    if locations_dict[location][1] != "":
                        print str(location)+": "+str(size(locations_dict[location][1]))
            except OSError, e:
                print e
    return total_size
Run Code Online (Sandbox Code Playgroud)

由于某些原因,当我手动运行时,我得到一个不同的值

$ du -hc [path to dir]
Run Code Online (Sandbox Code Playgroud)

使用Python,我得到20551043874445字节(转换为20.5 TB)。随着du我得到28 TB(我现在重新运行没有-h得到以字节为单位的值)。

显然,Python函数缺少某些内容,但是我不确定是什么或如何。有任何想法吗?

python size bash recursion du

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

Python - 类 Property.Setter 不验证字典键上的直接设置

main():请参阅注释中提到的结果的函数。*一般注意事项:当Class()有一个attribute包含例如str->时,@propery.setter一旦设置就会验证。

但是,当我将 a 存储dictionary在 中时Class.attribute@property.setter如果我直接设置 a ,则 My 不起作用key : value

class CoinJar():

    def __init__(self):
        self._priceDict = {'current' : 0.0, 'high' : 0.0, 'low' : 0.0}
        self.klines = {}
        self.volume = {}

    def __str__(self):
        return f'\n\U0001F36A'

    @property
    def priceDict(self):
        return self._priceDict

    @priceDict.setter
    def priceDict(self, priceDict):

        print('setting price')

        try:
            newPrice = float(priceDict.get('current'))
        except ValueError as e:
            print(f'Input cannot be converted to float {e}')

        # Exceptions …
Run Code Online (Sandbox Code Playgroud)

python oop dictionary python-descriptors

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

Python正则表达式不能像我预期的那样工作

为什么这不起作用?!

re.match(r".*hello.*", "\n\nhello\n\n", re.MULTILINE)
Run Code Online (Sandbox Code Playgroud)

请帮忙?

Windows 7 x64 Python 2.7.3

python regex

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