在Python中编辑文本文件最后一行的有效方法

时间:2016-02-01 07:45:03

标签: python sql replace

我有一个Python脚本,它创建一个大约300,000行的大型SQL插入文件。这个问题是文件的最后一行最终看起来像这样:

'),

这会导致SQL错误,因为它需要一个结束分号。

我正在寻找一种有效的方法来打开文件,用最后一行的分号替换逗号。

修改

我发现这个完整的解决方案完全符合我的需要:

   # Get the last line in the file and replace the comma with a semicolon to close the SQL statement.
    with open(file_to_execute, 'rb+') as filehandle:
        filehandle.seek(-1, os.SEEK_END)
        filehandle.truncate()
        filehandle.write(";")
        filehandle.close()

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用内置于标准库中的file.seek。看看https://docs.python.org/2/library/stdtypes.html?highlight=seek#file.seek

您只需将偏移设置为0,然后设置为os.SEEK_END