首页 > 解决方案 > 如何在 Python 中正确写入文本文件?

问题描述

所以我有一个代码,我需要在其中写入这样的文件。

def f():
       f.write(anothervar)
       f.write("\t \t \t \t <------------------ Written from function f ")
       f.write('\n')
def g
f():
       f.write(somevar)
       f.write("\t \t \t \t <------------------ Written from function g ")
       f.write('\n')

但是,当显示文本文件时,它看起来像这样(代码被剪断)

HELLO WORLD           <------------------ Written from function g
HELLO WORLD MORE BIG BIGGER           <------------------ Written from function f
HELLO WORLD BIGGEST HAHAHAHAHAHAHAHAHHA          <------------------ Written from function f

我希望每一个<--- written from function g/h都写得完全正确。我怎样才能做到这一点?从我的想法来看,我可以在写完 hello world 后测量每一行的长度,然后减去并做数学运算,但这似乎很难,而且我不知道有任何函数可以测量行中的 chr。我需要简短的代码。

标签: pythonpython-3.xfunctionfilefopen

解决方案


您可以获取字符串长度以获取插入多少空间,或使用 srt.rjust。

def adjust(string, function):
    left, right = 20, 40
    tag = '<'+'-'*(15-len(function))+' write from function ' + function
    print(string.ljust(left, ' ') + tag.rjust(right, ' '))

text = ['Good Morning !', 'Are you ready', 'How about', 'Test']
func = ['get', 'get', 'post', 'delete']
for t, f in zip(text, func):
    adjust(t, f)
Good Morning !         <------------ write from function get
Are you ready          <------------ write from function get
How about              <----------- write from function post
Test                   <--------- write from function delete

推荐阅读