Python file.write()将退格写入文件

Python file.write()将退格写入文件,python,Python,如何使用python中的函数file.write()将\b写入文件 尝试了file.write('\b\b\b'),但它只会将垃圾字符添加到我的文件中 for path in data['paths']: file.write(path['method'] + '*') file.write(path['url'] + '*') for resources in path['resources']: file.write(resources['k

如何使用python中的函数file.write()将\b写入文件

尝试了file.write('\b\b\b'),但它只会将垃圾字符添加到我的文件中

 for path in data['paths']:
     file.write(path['method'] + '*')
     file.write(path['url'] + '*')
     for resources in path['resources']:
         file.write(resources['key'])
         file.write('\n'+'**')
     file.write('\b\b\b')

希望清除从
文件行写入的**的最后一个实例。写入('\n'+'**')
如果以后可能要删除它们,请不要首先写入
\n**

 for path in data['paths']:
     file.write(path['method'] + '*')
     file.write(path['url'] + '*')
     resources = '\n**'.join(x['key'] for x in path['resources'])
     if resources:
         file.write(resources)
从PYthon 3.8开始,您将能够将赋值和
if
语句结合起来:

if resources := '\n**'.join(...):
    file.write(resources)

如果以后可能要删除它们,请不要首先编写
\n**

 for path in data['paths']:
     file.write(path['method'] + '*')
     file.write(path['url'] + '*')
     resources = '\n**'.join(x['key'] for x in path['resources'])
     if resources:
         file.write(resources)
从PYthon 3.8开始,您将能够将赋值和
if
语句结合起来:

if resources := '\n**'.join(...):
    file.write(resources)

文件与控制台不是一回事;你不会通过向文件中添加新内容(即写入)来“擦除”文件中的内容。Scott-你能为我建议一个解决方案吗?然后要删除文件中的内容,通常你必须将所有内容读取到内存中,编辑并写回。如果你想删除结尾的一些字符,那么你可以使用
file.truncate(new\u size)
来更改文件的大小;你不会通过向文件中添加新内容(即写入)来“擦除”文件中的内容。Scott-你能为我建议一个解决方案吗?然后要删除文件中的内容,通常你必须将所有内容读取到内存中,编辑并写回。如果你想在结尾删除一些字符,那么你可以使用
file.truncate(new\u size)
来更改文件的大小。如果你不知道是否需要删除它们,为什么不呢?查看您的代码,您并没有以换行符/
**
对结束每个资源;您正在将该对放在每个资源之间,这就是
join
所做的;您可以将字符预先添加到第二个和后续元素中。对于这个特定的示例,当然可以。如果您不知道是否需要删除它们,为什么不呢?查看您的代码,您并没有以换行符/
**
对结束每个资源;您正在将该对放在每个资源之间,这就是
join
所做的;您可以将字符前置到第二个和后续元素。对于这个特定的示例,请确保。