Monthly Archives: 4月 2014

[Python2] stringを逆に表示するには

Pocket

ビット列を逆に読むときとかに。

[::-1]という指定

Python2で文字列を逆に表示するには、スライスで[::-1]と指定すればよい。

teststring = "123456"
print "%s ==> %s" % (teststring, teststring[::-1])

 

以下、実行例

123456 ==> 654321

 

reversed()

面白いのは、reversed()という関数。
リバースドオブジェクトというそのままの名前なんだが、与えられたリストの逆順イテレータを返す。
イテレータなので注意。
つまり、そのままprintすることはできない。

teststring = "123456"
print reversed(teststring)

print "version [::-1]"
for i in teststring[::-1]:
    print i
print "version reversed()"
for i in reversed(teststring):
    print i

 

実行例

reverse <reversed object at 0x108269f50> 
version [::-1]
6
5
4
3
2
1
version reversed()
6
5
4
3
2
1

Poudriereのjailにセキュリティアップデートを適用

Pocket

Heartbleedバグ対応では皆さんいかがお過ごしでしたか。

Poudriereではpackageの作成をjail内で実行するんだけども、もちろんこれらjailにもセキュリティアップデートは必要だ。
ずいぶん簡単なんだけれども採録。

Poudriere jailのアップデートは-uで

ほんとうに簡単で、-uをつけるだけ。
以下のようなjailがあったとする。

$ sudo poudriere jail -l

JAILNAME VERSION ARCH METHOD
100i386 10.0-RELEASE i386 ftp

そうしたら-uを指定するだけ。

$ sudo poudriere jail -u -j 100i386
====>> Upgrading using ftp
/etc/resolv.conf -> /usr/local/poudriere/jails/100i386/etc/resolv.conf
mount: /usr/local/poudriere/jails/100i386/compat: No such file or directory
Looking up update.FreeBSD.org mirrors... none found.
Fetching public key from update.FreeBSD.org... done.
Fetching metadata signature for 10.0-RELEASE from update.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 16 patches.....10... done.
Applying patches... done.
The following files will be updated as part of updating to 10.0-RELEASE-p1:
/bin/freebsd-version
(略)
/usr/src/sys/conf/newvers.sh
/usr/src/sys/fs/nfsserver/nfs_nfsdserv.c
Installing updates... done.
100i386: removed

おしまい。