我正试着从我的书里读 text.txt
,将某些行写入 temp.txt
,然后使用 os.system
呼叫 grep
在…上 temp.txt
在我运行程序之后, temp.txt
创建,我可以调用相同的 grep
命令以获得所需的结果,这使我认为这是一个异步问题
我正在使用python 2.6.4
import os
# opens new file to write to
temp = open("temp.txt", "w+")
boolStart = False
with open("text.txt", "r") as text:
for line in text:
if("GREEN" in line):
boolStart = True
elif("YELLOW" in line):
boolStart = False
if(boolStart):
temp.write(line)
os.system("grep -e 'Ace: ' -e 'Spade' {0}".format("temp.txt"))
我从跑步中一无所获 python script.py
即使我用管道连接到一个新文件
问:为什么我不能对我刚刚在同一个程序中编写的文件调用grep
就上下文而言,这是 text.txt
```
RED*
Ace: John
Ace: Mike
Spade: Nick
Spade: Pete
GREEN***
Ace: Emily
Ace: Anna
Spade: Krista
Spade: Maddie
**YELLOW
Ace: Nicole
Ace: Scott
Ace: Zac
Ace: Phil
这是 `temp.txt` 我要打电话给的文件 `grep` 在…上
GREEN***
Ace: Emily
Ace: Anna
Spade: Krista
Spade: Maddie
1条答案
按热度按时间brtdzjyr1#
问题是你忘了
.close()
该文件可能会留下尚未写入磁盘的缓冲数据。但是,没有必要使用
grep
或者将数据写入临时文件。