小编bra*_*ese的帖子

Python:在包含代理项对时获取正确的字符串长度

考虑以下IPython交流:

In [1]: s = u'??????'

In [2]: len(s)
Out[2]: 8
Run Code Online (Sandbox Code Playgroud)

应该是正确的输出7,但由于这七个中文字符中的第五个具有高Unicode代码点,因此它以UTF-8表示为"代理对",而不仅仅是一个简单的代码点,因此Python认为它是两个字符而不是一个字符.

即使我使用unicodedata,它将代理对正确地作为单个代码点(\U00026177)返回,当传递给len()错误的长度时仍然会返回:

In [3]: import unicodedata

In [4]: unicodedata.normalize('NFC', s)
Out[4]: u'\u83ef\u889e\u8207\u7dfc\U00026177\u540c\u6b78'


In [5]: len(unicodedata.normalize('NFC', s))
Out[5]: 8
Run Code Online (Sandbox Code Playgroud)

如果不采取像UTF-32重新编译Python这样的重大步骤,是否有一种简单的方法可以在这种情况下获得正确的长度?

我正在使用IPython 0.13,Python 2.7.2,Mac OS 10.8.2.

python surrogate-pairs

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

返回Python中最低有效位的索引

C++有一组函数ffs(),ffsl()和ffsll(),它们返回在给定二进制整数中设置的最低有效位.

我想知道Python中是否有可用的等效函数.我没有看到一个用于bitarray的描述,但也许还有另一个.我希望通过循环遍历所有可能的位掩码来避免计算答案,当然这是最后的选择; ffs()只返回一个整数,我想知道Python中可比的东西.

python bit-manipulation

13
推荐指数
4
解决办法
8442
查看次数

Droid手机的数学或LaTeX引擎

Android手机有数学或LaTeX引擎吗?我最喜欢的flashcard应用程序(AnyMemo)似乎无法将方程式集成到闪存卡中,除了图形,需要在用户方面做更多的工作,我认为第三方数学排字机是可能的.


(编辑2011.04.24)更多细节:从其他地方,我收到了以下关于一些可用选项的评论:

  • JScience:只有一个解析器.它对生成图像没有用.
  • jsmath:在Android浏览器中无法正确显示.
  • JEuclid:取决于Android没有的AWT.
  • JMathTex:取决于Android没有的Swing.
  • snuggletex:取决于JEuclid(见上文).

也许SO读者可以想到另一种方式?

android latex mathematical-typesetting

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

Ubuntu没有完全关闭VirtualBox

我在VirtualBox v.4.1.12上分别在运行Mac OS 10.5.8和10.6.8的两台不同机器上安装了Ubuntu Precise(v.12.04).一切都按预期工作.我可以使用菜单中的"关机"命令关闭Ubuntu,并且客户操作系统确实关闭了.

但是当我尝试使用命令行关闭时sudo halt,当客户操作系统关闭时,它的窗口永远不会消失.

有谁知道为什么会这样?在相同的环境中,Ubuntu Lucid(v.10.04)没有这样的问题.

ubuntu virtualbox

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

在Python中模拟整数溢出

蟒2具有两个整数数据类型intlong,并自动将它们之间作为转换必要,特别是为了避免整数溢出.

我在Python中模拟C函数,我想知道是否有重新启用整数溢出的标准方法.对于nonce,我已经习惯了

overflow_point = maxint + 1
if value > overflow_point:
    value -= 2 * overflow_point
Run Code Online (Sandbox Code Playgroud)

是否有更标准的方法来做同样的事情?

python ctypes integer-overflow

7
推荐指数
3
解决办法
5888
查看次数

Android:仅在onCreate中使用getIntent()?

在Android(目标API 14-16)中,我有一个MainActivity和一个NextActivity.如果在块内部调用方法,则使用Intent NextActivity从内部开始是没有困难的:MainActivitygetIntent()onCreate()NextActivity

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        int data = 7;
        ...
        Intent intent = new Intent(this, NextActivity.class);
        intent.putExtra("data", data);
        startActivity(intent);
        }
    }

public class NextActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final int data = this.getIntent().getIntExtra("data", 7);
        ...
        }
    ...
    }
Run Code Online (Sandbox Code Playgroud)

但是,由于该字段data在匿名("内部")类中使用NextActivity,我被迫声明它final.

我不想声明字段final,如果我在开始之前在类的开头声明它们,我通常可以避免这样做onCreate().但由于某种原因,NextActivity如果getIntent()语句出现(没有 …

android android-intent oncreate

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

Ruby - 检查队列的内容而不清空它?

Ruby 有一个Queue,只有几个方法:pushpoplengthempty?clearcloseclosed?num_waiting。(加上同义词。)

\n\n

我没有找到一种方法来检查队列对象的内容而不弹出它们 \xe2\x80\x94 ,也许是因为该类Queue旨在与线程而不是其他对象一起使用。

\n\n

还是我错了?有没有办法检查队列对象的内容而不弹出它们?

\n

ruby queue

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

namedtuple — 同一定义中不同类型名称的应用程序

Pythonnamedtuple工厂函数允许它创建的子类的名称被指定两次——首先在声明的左侧,然后作为函数的第一个参数(IPython 1.0.0,Python 3.3.1):

In [1]: from collections import namedtuple

In [2]: TypeName = namedtuple('OtherTypeName', ['item'])
Run Code Online (Sandbox Code Playgroud)

我在 docs.python.org 站点上看到的所有示例在两个位置都使用相同的名称。但是可以使用不同的名称,它们的功能也不同:

In [3]: TypeName(1)
Out[3]: OtherTypeName(item=1)

In [4]: type(TypeName)
Out[4]: builtins.type

In [5]: type(OtherTypeName)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-6616c1214742> in <module>()
----> 1 type(OtherTypeName)

NameError: name 'OtherTypeName' is not defined

In []: OtherTypeName(1)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-9-47d6b5709a5c> in <module>()
----> 1 OtherTypeName(1)

NameError: name 'OtherTypeName' is not defined
Run Code Online (Sandbox Code Playgroud)

我想知道此功能可能有哪些应用程序。

python namedtuple

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

消除Ubuntu 10.04上的非工作PostgreSQL安装并重新开始

我发现在Ubuntu 10.04上有两个旧的PostgreSQL安装的残骸:

$ pg_lsclustersVersion Cluster   Port Status Owner    Data directory                     Log file
Use of uninitialized value in printf at /usr/bin/pg_lsclusters line 38.
8.4     main      5432 down   /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log  
Use of uninitialized value in printf at /usr/bin/pg_lsclusters line 38.
9.1     main      5433 down   /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log  
$
Run Code Online (Sandbox Code Playgroud)

尝试执行基本功能会返回错误,例如:

createuser: could not connect to database postgres: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

当我尝试启动数据库服务器时会出现更多信息:

$ sudo /etc/init.d/postgresql …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu purge

3
推荐指数
2
解决办法
6180
查看次数

Python-Sphinx:自动包含文档构建的日期和时间

对于 Python-Sphinx 文档生成器,是否有一种标准方法可以在构建当前渲染时自动填充时间和日期?

查看conf.py文件和RTD 主题文档,我没有看到列出了此功能。

python-sphinx

3
推荐指数
2
解决办法
1713
查看次数

Android:在自己的onClick中禁用onClickListener?

在Android(定位API 14-16)中,我有一个如下onClickListener设置TextView:

theView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // actions
    }
});
Run Code Online (Sandbox Code Playgroud)

点击的后果之一应该是禁用进一步的点击.我已尝试将其包括v.setOnClickListener(null);在"行动"中,但它没有达到要求的效果.我应该为此做些什么?


编辑:@Raghav Sood建议禁用TextView.在这种情况下,我有一个大的TextViews网格,其中只有一个被点击; 我想禁用所有这些.我想我必须用循环禁用所有内容; 那是对的吗?或者是否有一个命令可以禁用它们所在的整个布局?

android onclicklistener

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

SQLite3 — NOT NULL 应用于多列

在定义 SQLite3 表时,NOT NULL可以将约束应用于单个列:

CREATE TABLE tablename (
    field1 INTEGER NOT NULL,
    field2 INTEGER
);
Run Code Online (Sandbox Code Playgroud)

有没有办法不将NOT NULL约束应用于单个列,而是应用于一组两列或更多列,以便这些列中至少有一个不能为空,而其他任何或所有列都可以为空?

sqlite constraints

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

如何在不订阅Mathematica的情况下运行Mathematica代码?

是否有公共或第三方REPL或其他工具可用于运行Mathematica代码?我已经发送了一些代码来评估,但除了尽可能聪明地阅读它之外,我还想看看它的输出.我怎么做?

wolfram-mathematica read-eval-print-loop

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