在带引号文本的文件中查找第二次出现的字符串,并返回该字符串的名称

时间:2015-11-27 07:28:08

标签: python

我有一个包含引用字符串的文件abc.txt。

对于以下输入

./executeSQL.sh alt_tbl.sql /scratch/app/product/fmw/obpinstall/patchStage/1000050165/files/obp/ identifyInvalidObjects.sql Current time : 15:01:34
SP2-0734: unknown command beginning "echo "Curr..." - rest of line ignored.
SP2-0734: unknown command beginning "/home/alam..." - rest of line ignored.
ALTER TABLE  "FLX_PI_FIN_PROF_LIAB_DTLS" ADD ("LIAB_DTL_SL_NO" NUMBER NOT NULL ENABLE)
         *
ERROR at line 1:
ORA-01758: table must be empty to add mandatory (NOT NULL) column 

我想要返回alt_tbl.sql

2 个答案:

答案 0 :(得分:2)

以下内容将从文件alt_tbl.sql中提取abc.txt

with open('abc.txt') as f_input:
    text = f_input.read()
    file_name = text.split(' ', 2)[1]
    print file_name

答案 1 :(得分:1)

使用csv读取器更容易使用csv sniffer检查引号以检查多个分隔符

import csv
scndval=None
li=[]
scndval=None
with open('abc.txt', 'rb') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024), delimiters=" \t")
    csvfile.seek(0)
    csvreader = csv.reader(csvfile, dialect,quotechar='"')
    for row in csvreader:
      li+=row
      if (li)>1:
         scndval = li[1]
         break
print scndval

I / P:hello "how are you" ? O / P:how are you