Pythonで特定の単語を印刷する

Pythonで特定の単語を印刷する

データを含む「出力」ファイルがあります。

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はファイル記述子を自動的に閉じて開くときにエラーも処理するからです。
  • 現在行の文字位置を記録し、(文字) 列分割表記を使用してセル名を抽出します。
  • ) 以前はそのようなことが起こらなかったと仮定(

おすすめ記事