[英]insert a text file into another text file after a string using python?
[英]How to insert a string of characters into a text file using python?
这是我拥有的文本文件。
# This is an auto-generated Django model module created by ogrinspect.
from django.contrib.gis.db import models
class Parking(models.Model):
name = models.CharField(max_length=80)
descriptio = models.CharField(max_length=80)
geom = models.PointField(srid=4326)
objects = models.GeoManager()
# Auto-generated `LayerMapping` dictionary for Parking model
parking_mapping = {
'name' : 'Name',
'descriptio' : 'Descriptio',
'geom' : 'POINT25D',
}
我想在class Parking(models.Model):
之后插入layer_id= models.ForeignKey('sdr_layer.id')
):使用 python 脚本。 可能吗? 怎么做?
您可以先将所有内容读入列表,将文本插入所需的(这里您可以使用正则表达式或'find'/'index'等)position,然后简单地重写文件。
#!/usr/bin/python
filename='thefile.txt'
search="class Parking(models.Model):"
add="\n layer_id= models.ForeignKey('sdr_layer.id')"
content=open(filename,'r').read()
content=content.replace(search,search+add)
fp=open(filename,'w')
fp.write(content)
fp.close()
您可以使用两种基本方法:
将整个文件作为单个字符串读入 memory,使用正则表达式或只是str.replace()
进行更改,然后将字符串写回文件,替换其中的内容。
逐行读取文件,将行复制到新文件,直到到达要添加行的位置。 此时,将新行写入新文件。 然后将这些行的 rest 复制到新文件中。 完成后,重命名新文件以替换现有文件。
第二个更复杂,但适用于太大而无法放入 memory 的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.