运行环境:
PHP 5.4.17
Python 2.6.6
linux 64位
一、逐行读取数据文件,用tab键做分隔处理
split.py
#!/usr/bin/python
#coding=utf-8
import sys
if len(sys.argv) != 2:
print sys.argv[0]+" [in_file]\n逐行读取数据,做'\\t'分隔"
exit()
in_file = sys.argv[1]
n = 0
for row in open(in_file):
temp = row.split('\t')
n += 1
print n
split.php
<?php
if (count($argv) != 2) {
echo $argv[0]," [in_file]\n逐行读取文件,然后‘\\t’分隔";
exit;
}
$in_file = $argv[1];
$fp = fopen($in_file, 'r');
$n = 0;
while(($row=fgets($fp, 4096))!==false){
$arr = explode("\t", $row);
++$n;
}
echo $n;
执行速度对比
[root@localhost php_py]# time python split.py data.txt
730408
real 0m1.705s
user 0m1.605s
sys 0m0.093s
[root@localhost php_py]# time php split.php data.txt
730408
real 0m3.261s
user 0m3.144s
sys 0m0.111s