小编evs*_*ith的帖子

将字符串转换或取消格式化为Python中的变量(如format(),但反之)

我有形式的字符串Version 1.4.0\nVersion 1.15.6\n,我想从他们身上抽取三个数字的简单方法.我知道我可以使用format方法将变量放入字符串中; 我基本上想要倒退,像这样:

# So I know I can do this:
x, y, z = 1, 4, 0
print 'Version {0}.{1}.{2}\n'.format(x,y,z)
# Output is 'Version 1.4.0\n'

# But I'd like to be able to reverse it:

mystr='Version 1.15.6\n'
a, b, c = mystr.unformat('Version {0}.{1}.{2}\n')

# And have the result that a, b, c = 1, 15, 6
Run Code Online (Sandbox Code Playgroud)

我找到的其他人问了同样的问题,但回复是针对他们的特定情况的: 反向使用Python格式字符串进行解析

一般答案(如何format()反向)会很棒!我的具体案例的答案也会非常有用.

python string-formatting

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

我应该如何在Ubuntu 14.04上升级pip?

我想获得pip的最新版本(8.1.2).我正在使用Ubuntu 14.04和python 2.7.6.Ubuntu存储库中的pip版本仅为1.5.4(并且无法安装像numpy这样的东西).你是如何真正意图升级pip的?我发现了一些方法; 也许他们都是等价的,但肯定知道会很好.

选项1:使用pip升级pip并更改链接

apt-get install python-pip
pip install --upgrade pip
pip --version  # still shows 1.5.4
ln -s /usr/local/bin/pip /usr/bin/
pip --version  # 8.1.2, success!
Run Code Online (Sandbox Code Playgroud)

选项1a:如上所述,但使用python -m pip

pip install --upgrade pip
pip --version  # still shows 1.5.4
python -m pip --version  # 8.1.2, success!
Run Code Online (Sandbox Code Playgroud)

选项2:easy_install

easy_install -U pip
pip --version  # 8.1.2, success!
Run Code Online (Sandbox Code Playgroud)

选项3:使用virtualenv(我知道virtualenvs很棒,但我在docker容器中进行安装,所以我只是在全局安装).

virtualenv test123
source test123/bin/activate
pip --version  # pip 8.1.2 from ~/test123/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

选项4:pip网站建议使用他们的get-pip.py脚本,但也说这可能会使Ubuntu包管理器处于不一致状态.

选项5:升级Python:"如果您使用的是Python 2> = 2.7.9,则已经安装了pip",但这似乎有些过分.

这些是首选方法之一吗?有没有更好的方法我找不到?我是否想过这个?

python pip ubuntu-14.04

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

进程替换 - tr 表示“额外操作数 /dev/fd/63”

我正在努力理解过程替换。据我所知,

echo abcd | tr -d 'b'
tr -d 'b' <(echo abcd)
Run Code Online (Sandbox Code Playgroud)

应该都给出相同的输出。但是第一个有效(输出为“acd”)但第二个说

tr: extra operand '/dev/fd/63'
Run Code Online (Sandbox Code Playgroud)

为什么是这样?tr 不只是通过管道接收 'abcd' 而不是 '/dev/fd/63' 吗?

bash process-substitution

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