python学习笔记--文件处理(杂)

import sys

def process_file(filename):
    '''Open, read, and print a file.'''
    
    input_file = open(filename, "r")
    for line in input_file:
        line = line.strip()
        print line
        
    input_file.close()

if __name__ == '__main__':
    process_file(sys.argv[1])    

 

此代码的运行方式为 python 文件名  sys.argv[1]。但是此程序只能处理文本,对于其他输入流无能为力。

修改一下代码,在该函数的外面打开文件(或者URL或标准输入流),然后再把得到的文件对象传给它

 

import sys

def process_file(reader):
    '''Open, read, and print a file.'''
    
    for line in reader:
        line = line.strip()
        print line
        
if __name__ == '__main__':
    input_file = open(sys.argv[1], "r")
    process_file(input_file)
    input_file.close()

 

若使用该函数(process_file)处理网页或是本地文件:

import sys
import urlib

def process_file(reader):
    '''Open, read, and print a file.'''
    
    for line in reader:
        line = line.strip()
        print line
        
if __name__ == '__main__':
    webpage = urllib.urlopen(sys.argv[1])
    process_file(webpage)
    webpage.close()

 

 

 

 

 

posted @ 2013-01-10 21:33  roicel  阅读(237)  评论(0编辑  收藏  举报