如何在Python中查找文本文件中的特定字符串

时间:2018-04-01 15:27:38

标签: python string text find

while True:
contents = pyperclip.paste() #paste from clipboard
filepath = r"C:\Users\BOT\Desktop\DATA.txt"
with open(filepath, 'w') as f: # 'w' means write mode and we get the file object as f
                        f.write(contents)
                        f.close() #write on DATA.txt, save
                with open(filepath, 'r') as f:(edited)

============== 这给DATA.txt这个文字:

440    Entry Short    Short    2018-04-01 17:37:00    6479.5    
    Exit Short    Close position order    2018-04-01 17:39:00    6477    17    42.5
441    Entry Long    Long    2018-04-01 17:39:00    6477    
    Exit Long    Close position order    2018-04-01 17:41:00    6513.5    51    1861.5
442    Entry Short    Short    2018-04-01 17:41:00    6513.5    
    Exit Short    Close position order    2018-04-01 17:43:00    6503    68    714
443    Entry Long    Long    2018-04-01 17:43:00    6503    
    Exit Long    Close position order    2018-04-01 17:44:51    6517    85    1190
444    Entry Short    Short    2018-04-01 17:45:06    6518.5    
    Exit Short    Open
445    Entry Short    Short    2018-04-01 18:45:06    6525.5    
    Exit Short    Open

如何找到最后一个字符串? “退出短暂开放” 此处的输出应为2

filepath = r"C:\Users\BOT\Desktop\DATA.txt"
                with open(filepath, 'w') as f: # 'w' means write mode and we get the file object as f
                        f.write(contents)
                        f.close()
                with open(filepath, 'r') as f: 
                        f.read(contents)
                        if 'Exit Short    Open' in open.f.read():
                        print('Exit Short    Open')
                        f.close()

不工作

1 个答案:

答案 0 :(得分:1)

也许contents.count('Exit Short Open')可以做到这一点? 这样的事情:

while True:
    contents = pyperclip.paste() #paste from clipboard
    filepath = r"C:\Users\BOT\Desktop\DATA.txt"
    with open(filepath, 'w') as f: # 'w' means write mode and we get the file object as f
        f.write(contents)
        # f.close() no need to close the file, "with" operator does that automatically
    with open(filepath, 'r') as f:
        count_var = f.read().count('Exit Short    Open')
        print(count_var)