データを含む「出力」ファイルがあります。
cell (XOR4DGHFDH22DSVT) {
cell (ND2DGH557GGHDSVT) {
cell (SDK1DNG45GKDSVT) {
出力が欲しいです。
XOR4DGHFDH22DSVT
ND2DGH557GGHDSVT
SDK1DNG45GKDSVT
別のファイルでPython 2.7.5を使用してこの出力を取得したいと思います。
試してみましre.findall()
たがsplit()
入手できませんでした。私が使用するコードは次のとおりです。
c2= open("out1", 'w')
file1= open("out","r")
for c in file1:
split_lines = c.split(" ")
print(split_lines[1]) >> c2
ベストアンサー1
$ python3 -c 'import sys
with open(sys.argv[1]) as f:
for l in f:
a, b = map(lambda x: l.find(x), ["(",")"])
print(l[a+1:b])
' out > out1
$ cat out1
XOR4DGHFDH22DSVT
ND2DGH557GGHDSVT
SDK1DNG45GKDSVT
- 慣用的/Python的アプローチは、この
with-open
セクションを使用することです。なぜなら、eofはファイル記述子を自動的に閉じて開くときにエラーも処理するからです。 - 現在行の文字位置を記録し、
(
文字)
列分割表記を使用してセル名を抽出します。 )
以前はそのようなことが起こらなかったと仮定(