在操作某个很多进程都要频繁用到的大文件的时候,应该尽早释放文件资源(f.close()) 前2种方法主要用到了列表解析,性能稍差,而最后一种使用的时候生成器表达式,相比列表解析,更省内存 列表解析和生成器表达式很相似: 列表解析 [expr for iter_var in iterable if cond_expr] 生成器表达式 (expr for iter_var in iterable if cond_expr) 方法1:最原始 longest = 0 f = open(FILE_PATH
import shutil with open('/path/to/file', 'r') as f: with open('/path/to/file.new', 'w') as g: for line in f.readlines(): if '/local/server' not in line: g.write(line) shutil.move('/path/to/file.new', '/path/to/file') 原文链接:https://segmentfault.com/q/1
#!/usr/bin/env python def read_file(file_name,start,stop): start_line = 0 try: with open(file_name) as f: for line in f: start_line += 1 #计数循环 if start <= start_line <= stop: yield line except IOError, e: raise e reslut = read_file('/etc/passwd',2,1