使用“ while”时删除最后一个字符

时间:2019-02-20 14:19:00

标签: python

我在Python中编写了一个函数,用于将数据排序为字典语法,但是由于我使用的是while,因此我想删除一个逗号以避免语法无效。

例如,使用以下代码:

file = open("test.txt","w", encoding="utf-8")
number = 0
while number < 5:
    file.write("some text" + ", ")
    number += 1

这将创建带有以下文本的test.txt:

some text, some text, some text, some text, some text,

我想删除最后添加的最后一个“,”看起来像这样:

some text, some text, some text, some text, some text

有什么主意吗?

4 个答案:

答案 0 :(得分:3)

我会使用join

text_to_write = 5 * ['the text']
file.write(', '.join(text_to_write))

答案 1 :(得分:1)

仅对最后一个元素使用其他命令。

file = open("test.txt","w", encoding="utf-8")
number = 0
while number < 5:
    file.write("some text" + ", ")
    if(number == 4):
           file.write("some text") 
    number += 1

答案 2 :(得分:1)

尝试一下:

file = open("test.txt","w", encoding="utf-8")
number = 0
list_to_add = []
while number < 5:
    list_to_add.append("some text") # you can append anything based_on iteration
    number += 1
file.write(','.join(list_to_add))

答案 3 :(得分:1)

不使用while循环就可以做同样的事情:

file = open("test.txt","w", encoding="utf-8")
file.write(", ".join(["some text"] * 5))

", ".join([ ... ])函数使用分隔符,将列表中的多个文本字符串连接起来,在您的情况下,等于:

In [1]: ", ".join(["some text"] * 5)
Out[1]: 'some text, some text, some text, some text, some text'