小编And*_*ini的帖子

我如何知道与给定语言环境相对应的度量单位?

我想以与语言环境相关的方式显示长度,即:以当前语言环境的正确测量单位显示长度。我知道这LC_MEASUREMENT是我需要使用的,但是我该如何使用呢?

GNU gettext 没有给我任何可用的LC_MEASUREMENT. 我查看了一些天气小程序的来源,它们都要求您在首选项窗口中手动输入单位(开尔文、华氏或摄氏)。

在我看来,该环境变量从未被任何人使用过,但我真的很想用它来提供更好的用户体验。也许,是否有一个免费(如自由)数据库可以将区域设置名称映射到相应的测量单位?

仅供参考:我的应用程序是用 C 编写的。

c locale localization internationalization units-of-measurement

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

理解为什么这个python代码随机工作

我正在编写一个小脚本,从声音文件中获取元数据,并创建一个具有所需值的字符串.我知道我做错了但是我不确定为什么,但这可能是我迭代if的方式.当我运行代码时:

import os, mutagen

XPATH= "/home/xavier/Code/autotube/tree/def"

DPATH="/home/xavier/Code/autotube/tree/down"


def get_meta():
    for dirpath, directories,files in os.walk(XPATH):
        for sound_file in files :
            if sound_file.endswith('.flac'):
                from mutagen.flac import FLAC
                metadata = mutagen.flac.Open(os.path.join(dirpath,sound_file))
                for (key, value) in metadata.items():
                    #print (key,value)
                    if key.startswith('date'):
                        date = value
                        print(date[0])

                    if key.startswith('artist'):
                        artist = value
                        #print(artist[0])
                    if key.startswith('album'):
                        album = value
                        #print(album[0])
                    if key.startswith('title'):
                        title = value
                        #print(title[0])
                        build_name(artist,album,title)  # UnboundLocalError gets raised here


def build_name(artist,album,title):
    print(artist[0],album[0],title[0])
Run Code Online (Sandbox Code Playgroud)

我随机得到了想要的结果或错误:

结果:

1967 Ravi Shankar & Yehudi Menuhin West Meets East Raga: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

python抽象属性setter与混凝土吸气剂

是否可以使用abc.abstractproperty创建一个具体的getter,但使setter抽象,使其对每个继承类都不同.我为每个子类处理val的设置.

例如.

@abstractproperty
def val(self):
    return self._val

@val.setter
def val(self, x):
    pass
Run Code Online (Sandbox Code Playgroud)

python

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

Django:<module> execute_from_command_line(sys.argv)中的文件“ manage.py”,第10行

我是Python和Django的新手。我正在尝试在Linux上安装Django。服务器上当前可用的Python版本是Python 2.4.3,我按照以下步骤安装了Python 3.4.2:

wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar -xvzf Python-3.4.2.tgz
cd Python-3.4.2
./configure --prefix=/root/python3
make
make install
Run Code Online (Sandbox Code Playgroud)

正确安装了python。所以当我/root/python3/bin/python3.4得到Python版本3.4.2时,我创建了一个软链接->ln -s /root/python3/bin/python3.4 python3

现在我通过创建了一个virtualenv

/root/python3/bin/pyvenv-3.4 venv3.4
source venv3.4/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后我安装了DJango:

pip install Django==1.9
Run Code Online (Sandbox Code Playgroud)

Django已成功安装

创建了项目myproj:

django-admin startproject myproj
Run Code Online (Sandbox Code Playgroud)

myproj项目成功创建:

cd myproj
Run Code Online (Sandbox Code Playgroud)

现在,当我做python manage.py migrate我得到错误:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/root/venv3.4/lib/python3.4/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/root/venv3.4/lib/python3.4/site-packages/django/core/management/__init__.py", line 342, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/root/venv3.4/lib/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/root/venv3.4/lib/python3.4/site-packages/django/core/management/base.py", …
Run Code Online (Sandbox Code Playgroud)

python django

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

__slots__ 与泛型类中的类变量冲突

我在 Python 的类型系统和__slots__. 这是一个可重现的小示例。

from typing import TypeVar, Generic, Sequence

T = TypeVar("T")

class TestGeneric(Sequence, Generic[T]):
    __slots__ = ("test",)

    def __init__(self, test: T):
        self.test = [test]

    def __iter__(self):
        return iter(self.test)
    def __len__(self):
        return len(self.test)

    def __contains__(self, item):
        return item in self.test

    def __getitem__(self, _):
        return self.test[0]
Run Code Online (Sandbox Code Playgroud)

现在每当我尝试指定内容类型时,例如

V = TestGeneric[int]
Run Code Online (Sandbox Code Playgroud)

我得到

ValueError: 'test' in __slots__ conflicts with class variable
Run Code Online (Sandbox Code Playgroud)

Generics 在没有插槽的类中使用了很多,因此我认为这个错误必须与__slots__. 此外,同一个类工作正常,如果你删除__slots__

python typing slots python-3.x python-3.5

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

如何连续运行inotifywait并将其作为cron或deamon运行?

我构建了一个shell脚本,用于inotifywait自动检测特定目录上的文件更改。当一个新的 PDF 文件被放到目录中时,这个脚本应该关闭,然后它应该触发ocropus-parser在它上面执行一些命令。编码:

#!/bin/sh
inotifywait -m ~/Desktop/PdfFolder -e create -e moved_to |
while read path action file; do
    #echo "The file '$file' appeared in directory '$path' via '$action'"
    # Check if the file is a PDF or another file type.
    if [ $(head -c 4 "$file") = "%PDF" ]; then
        echo "PDF found - filename: " + $file
        python ocropus-parser.py $file
    else
        echo "NOT A PDF!"
fi
done
Run Code Online (Sandbox Code Playgroud)

当我通过终端运行此脚本时,这很有效,./filenotifier.sh但是当我重新启动我的Linux(Ubuntu 14.04)时,我的 …

linux shell init inotify

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

正则表达式:将所有内容匹配到最后一个空格而不包含它

我想将字符串中的所有内容匹配到最后一个空格,但不包括它。为了举例,我想匹配以粗体显示的字符:

雷纳塔·格罗查

到目前为止,我有,^(.+\s)(.+)但是它与最后一个空格匹配,我不希望这样。正像我一样,RegEx也可以使用英语以外的其他语言。

编辑:我没有提到的第二个捕获组不应该包含空间-它应该是GROCHALGROCHAL与前一个空间。

编辑2:基于两个答案提供的新RegEx是:^((.+)(?=\s))\s(.+)用于替换匹配项的RegEx是\3, \1。它可以达到预期的结果:

GROCHAL, RENATa T.
Run Code Online (Sandbox Code Playgroud)

任何改进都是可取的。

regex autohotkey

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

这是什么汇编语言/架构?

我遇到了这两个文件(它们是用意大利语写的,虽然代码注释是英文的):

  1. http://home.deib.polimi.it/brandole/acsocr/L13%20-%20Generic%20Assembly.pdf
  2. http://home.deib.polimi.it/brandole/acsocr/L14%20-%20Assembly%20Programming.pdf

它们描述了我无法识别的汇编指令集和语法.例如,它说下面的C代码......

int AddInt( int a, int b ) {
  int c;
  c = a + b
  return c;
}
Run Code Online (Sandbox Code Playgroud)

......等同于这组装配说明:

AddInt  ADD     SP, #-4
        PUSH    R0
        PUSH    R1
        PUSH    R2
        PUSH    R3
        LOAD    R0, 24(SP)
        LOAD    R1, 20(SP)
        ADD     R0, R1
        STORE   24(SP), R0
        POP     R3
        POP     R2
        POP     R1
        POP     R0
        ADD     SP, #4
        RET
Run Code Online (Sandbox Code Playgroud)

我有ARM,x86和x86-64指令集的经验,并且了解Intel和AT&T ASM语法.然而,论文中描述的内容对我来说看起来很新鲜.以下是我对指令集的看法:

  • 像指令的存在SVC,并B提醒ARM架构的我.
  • 但也有指令等HALT,MOVE,STORELOAD,这是不以ARM,x86和x86-64可用.或者,至少,他们在这些架构上有其他名称.
  • 该文档指出该体系结构只有几十条指令.这让我觉得它必须是一个非常古老的/嵌入式架构.
  • 该文件还指出,指令执行"非常简单的操作"(尽管它没有给出"简单"这个词的定义).这也让我觉得它必须是一个非常古老的/嵌入式架构.
  • 这些文件引用了MIPS,但MIPS看起来有所不同,原因有很多.例如:文件' BLE需要一个操作数,而在MIPS中需要三个; …

assembly history programming-languages

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

Python 3.5 urllib 无法在浏览器中打开网页

我在 VS2015、Eclipse 和 Spyder 中尝试了以下代码:

import urllib.request
with urllib.request.urlopen('https://www.python.org/') as response:
    html = response.read()
Run Code Online (Sandbox Code Playgroud)

在调用情况下,它不会在浏览器中打开网页。我不确定是什么问题。调试没有帮助。在 VS2015 中,程序存在代码为 0,我认为这意味着成功。

python browser urllib python-3.x

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

如何在python Enum中更改auto的基值?

假设我有以下代码,如何更改 auto 的基值,以便 Animal.ant 是任意值,例如 10,而不是 1?

from enum import Enum, auto

class Animal(Enum):
    ant = auto()
    bee = auto()
    cat = auto()
    dog = auto()
Run Code Online (Sandbox Code Playgroud)

python enums python-3.x

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