我想以与语言环境相关的方式显示长度,即:以当前语言环境的正确测量单位显示长度。我知道这LC_MEASUREMENT是我需要使用的,但是我该如何使用呢?
GNU gettext 没有给我任何可用的LC_MEASUREMENT. 我查看了一些天气小程序的来源,它们都要求您在首选项窗口中手动输入单位(开尔文、华氏或摄氏)。
在我看来,该环境变量从未被任何人使用过,但我真的很想用它来提供更好的用户体验。也许,是否有一个免费(如自由)数据库可以将区域设置名称映射到相应的测量单位?
仅供参考:我的应用程序是用 C 编写的。
c locale localization internationalization units-of-measurement
我正在编写一个小脚本,从声音文件中获取元数据,并创建一个具有所需值的字符串.我知道我做错了但是我不确定为什么,但这可能是我迭代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) 是否可以使用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和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 的类型系统和__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__
我构建了一个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)时,我的 …
我想将字符串中的所有内容匹配到最后一个空格,但不包括它。为了举例,我想匹配以粗体显示的字符:
雷纳塔·格罗查
到目前为止,我有,^(.+\s)(.+)但是它与最后一个空格匹配,我不希望这样。正像我一样,RegEx也可以使用英语以外的其他语言。
编辑:我没有提到的第二个捕获组不应该包含空间-它应该是GROCHAL不GROCHAL与前一个空间。
编辑2:基于两个答案提供的新RegEx是:^((.+)(?=\s))\s(.+)用于替换匹配项的RegEx是\3, \1。它可以达到预期的结果:
GROCHAL, RENATa T.
Run Code Online (Sandbox Code Playgroud)
任何改进都是可取的。
我遇到了这两个文件(它们是用意大利语写的,虽然代码注释是英文的):
它们描述了我无法识别的汇编指令集和语法.例如,它说下面的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,STORE和LOAD,这是不以ARM,x86和x86-64可用.或者,至少,他们在这些架构上有其他名称.BLE需要一个操作数,而在MIPS中需要三个; …我在 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,我认为这意味着成功。
假设我有以下代码,如何更改 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 ×6
python-3.x ×4
assembly ×1
autohotkey ×1
browser ×1
c ×1
django ×1
enums ×1
history ×1
init ×1
inotify ×1
linux ×1
locale ×1
localization ×1
python-3.5 ×1
regex ×1
shell ×1
slots ×1
typing ×1
urllib ×1