非常陌生的Python。我开始写一个PHP脚本来查找txt文件中出现的所有2个字符串,但它使用的内存太多,所以我读Python会更好。
基本上我需要做的是: - 导入一个txt文件 - 浏览它并返回下面标签之间的所有数据 - 删除任何重复 - 输出结果
我正在寻找的位看起来像这样:
------DATA--------------------------------------------------
DATA TO SHOW
------------------------------------------------------------
当然,输出的重要位是DATA TO SHOW部分。
任何帮助将不胜感激:)
由于
更新-----------------------
import re
inputFile = open("small.txt", "r")
output = open("result.txt", "w")
searchStart = "----- ASSERT --------------------------------------------------------------------------------"
searchEnd = "---------------------------------------------------------------------------------------------"
match = re.findall('^----- ASSERT --------------------------------------------------------------------------------\n(.*?)---------------------------------------------------------------------------------------------', inputFile.read(), re.MULTILINE)
print match,
任何想法如何让它显示所有行,直到它到达searchEnd标记?示例数据:
----- ASSERT --------------------------------------------------------------------------------
MORE
INFO
THAT
I
NEED
TO
GET
FROM
THE
FILE
---------------------------------------------------------------------------------------------
答案 0 :(得分:0)
php的一个例子(未经过测试,想法就在这里):
$handle = fopen("inputfile.txt", "r");
if ($handle) {
$record = false;
while (($line = fgets($handle)) !== false) {
if ($line == '------DATA--------------------------------------------------') {
$record = true;
$temp = '';
} elseif ($record) {
if ($line == '------------------------------------------------------------') {
$record = false;
$results[] = $temp;
$temp = '';
} else $temp .= $line;
}
}
} else {
echo 'Gargoyl, the file can\'t be opened!';
}
fclose($handle);
print_r($results);