今天工作中碰到一个任务:有一个文本文件存放了很多国家的名称,每行一个。我要把这些数据变成 js 里面的字符串形式以便在网页里显示。
首先下意识的用 js 写了如下一个脚本,完成了任务:
<
SCRIPT LANGUAGE
=
"
JavaScript
"
>
<!--
var fso = new ActiveXObject( " Scripting.FileSystemObject " );
var fs = fso.openTextFile( " E://projects//xyz//country_data.txt " );
var str = '';
var line = '';
while ( ! fs.AtEndOfStream)
{
line = fs.readLine();
str += ' " ' + line + ' " ,';
}
fs.close();
// var all = fs.readAll();
document.write(str);
// -->
</ SCRIPT >
<!--
var fso = new ActiveXObject( " Scripting.FileSystemObject " );
var fs = fso.openTextFile( " E://projects//xyz//country_data.txt " );
var str = '';
var line = '';
while ( ! fs.AtEndOfStream)
{
line = fs.readLine();
str += ' " ' + line + ' " ,';
}
fs.close();
// var all = fs.readAll();
document.write(str);
// -->
</ SCRIPT >
可是,转念一想,既然也学了几天 python 了,何不实践实践。老是用原来的技术也没什么意思啊,所以就重写为如下的脚本:
fpath
=
r
'
e:/projects/xyz/country_data.txt
'
f = file(fpath, ' r ' )
lines = f.readlines()
output = ''
for line in lines:
output += ' " ' + line.replace( ' /n ' , '' ) + ' ", '
f.close()
print output
f = file(fpath, ' r ' )
lines = f.readlines()
output = ''
for line in lines:
output += ' " ' + line.replace( ' /n ' , '' ) + ' ", '
f.close()
print output
一对比代码立刻发现,干同样的事情 python 更加简洁高效。而且也不用强迫自己记忆 FileSystemObject 这个 ActiveX 控件的方法、属性了。
因此决定提醒自己,以后解决这类小问题一定要首先用 python 来考虑 。