使用 python 创建文本编辑器时遇到问题

Having problems while creating a text editor using python

提问人:ItzArmin2010 提问时间:9/23/2023 更新时间:9/23/2023 访问量:46

问:

大家好。 我最近遇到了一个问题,我尝试使用包含 python 的文件函数和东西 我尝试制作一个文本编辑器,这时我遇到了一个问题

我试着让txteditor像这样:

one = input()
two = input()
three = input()
four = input()
five = input()
six = input()
seven = input()
eight = input()
nine = input()
ten = input()
f= open("guru99.txt","w+")
for i in range(10):
     f.write(one, two, three, four, five, six, seven, eight, nine, ten)
f.close()

但它给出了错误: f.write(一、二、三、四、五、六、七、八、九、十) TypeError:TextIOWrapper.write() 只接受一个参数(给定 10 个) 有人可以帮忙吗?here is the pic

python-3.x 文件 语法

评论

1赞 CristiFati 9/23/2023
看看你的代码,我认为文本编辑器对于你目前的水平来说可能“有点”太牵强了。检查 python.org/about/gettingstarted。至于您的问题,不要有 10 个单独的变量,而是使用列表(并在文件中一次写入一个元素)。
0赞 ItzArmin2010 9/23/2023
是的,我知道我的编码效率不高,只是为了一个有趣的项目而这样做

答:

2赞 Resistnz 9/23/2023 #1

您将每个数字作为单独的参数传递给 ,但该函数只需要一个参数f.write()

为此,您可以先将所有输入联接到一个变量(例如字符串)中,然后将其传入。这称为串联

joinedInputs = one + two + three + four + ... + ten
f.write(joinedInputs)

但是,这是一种有点低效的方法,您可能需要研究类似列表的东西:

inputs = []
for i in range(10):
    userInput = input()
    inputs.append(userInput)

然后,您可以简单地循环访问所有这些元素并将它们连接到一个字符串中,这可以通过几种方式完成,例如,通过遍历列表中的每个元素并如上所述将其连接起来。