我有一个输出SQL文件的Python应用程序:
sql_string = "('" + name + "', " + age + "'),"
output_files['sql'].write(os.linesep + sql_string)
output_files['sql'].flush()
Run Code Online (Sandbox Code Playgroud)
这不是在for循环中完成的,而是在数据变得可用时写入.当应用程序运行完毕后,有没有办法在最后一个逗号字符上"退格",并用分号替换它?我确信我可以通过在换行符之前输出逗号来创建一些解决方法,并使用全局Bool来确定是否有任何特定的"写入"是第一次写入.但是,我认为如果我可以对它进行'退格',应用程序会更加清晰.当然,作为Python可能有这么简单的方法!
请注意,insert在此用例中,在列表中包含每个值行然后插入列表不是可行的解决方案.
使用seek将光标向后移动一个字节(字符),然后编写新字符:
f.seek(-1, os.SEEK_CUR)
f.write(";")
Run Code Online (Sandbox Code Playgroud)
这是最简单的更改,维护您当前的代码("工作代码"胜过"理想代码"),但最好避免这种情况.