2013-07-03 42 views
0

我的文本文件MyText.txt文本文件阅读和打印数据

This is line 1 
This is line 2 
Time Taken for writing this#  0 days 0 hrs 1 min 5 sec 
Nothing Important 
Sample Text 

目的

要阅读的文本文件,如果找到“样本测试存在的文件中。如果存在打印写入文件所花费的时间(这是文件中已有的值)“

我的代码

with open('MyText.txt', 'r') as f: 
    f.readline() 
    for line in f: 
     if 'Sample Text' in line: 
      print "I have found it" 
      f.seek(0) 
      f.readline() 
      for line in f: 
       if 'Time Taken' in line: 
        print line 
        print ' '.join(line.split()) 
f.close() 

该代码工作正常。我的问题是如果这个代码可以做得更好。考虑到我是python的新手,我相信会有更好的方法来编写这个代码。任何人都可以为此提供替代/更快的方法。

+3

这属于上http://codereview.stackexchange.com/ – TerryA

回答

0

这应该工作..

with open('MyText.txt', 'r') as f: 
    lineArr=f.read().split('\n') 
    if 'Sample Text' in lineArr: 
    timeTaken = [s for s in lineArr if "Time Taken" in s] 
    print timeTaken[0] 
+0

伴侣此输出'[ '拍摄时间写这#0 0天小时1分5秒']' – misguided

+0

@ misguided-这不是你想要的吗? – vidit

+0

我想要结果文件名而不是列表。您更改的代码虽然有帮助,但:) – misguided

2

个人而言,我会得到的文本出来,然后就可以进行操作,如果该文件是相当小的。

f = open("mytext.txt","r") 
contents = f.read() 
f.close() 

for row in contents.split("\n"): 
    if "time" in row: 
     print(row.split("time")[1]) 
+0

配合您只考虑了1个条件,而不是2 – misguided

2
f = open('sample', 'r') # open file in read mode 
data = f.read()  # copy to a string 
f.close()    # close the file 
print data   # print the data