首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python 资料插入第一行

2012-12-27 
python 文件插入第一行def file_insert(fname,linenos[],strings[]):Insert several strings to line

python 文件插入第一行

def file_insert(fname,linenos=[],strings=[]):      """     Insert several strings to lines with linenos repectively.      The elements in linenos must be in increasing order and len(strings)     must be equal to or less than len(linenos).      The extra lines ( if len(linenos)> len(strings)) will be inserted     with blank line.     """      if os.path.exists(fname):          lineno = 0          i = 0          for line in fileinput.input(fname,inplace=1):              # inplace must be set to 1              # it will redirect stdout to the input file              lineno += 1              line = line.strip()              if i<len(linenos) and linenos[i]==lineno:                  if i>=len(strings):                      print "\n",line                  else:                      print strings[i]                      print line                  i += 1              else:                  print line

?fileinput.input的inplace必须要设为1,以便让stdout被重定向到输入文件里:

file_insert('a.txt',[1,4,5],['insert1','insert4']

?

热点排行