Python 使用“时,清除最后一个字符”;而";

Python 使用“时,清除最后一个字符”;而";,python,Python,我用Python编写了一个函数,将数据排序到字典语法中,但由于我在使用时使用了,因此我希望删除一个逗号,以避免使用无效语法 例如,使用以下代码: file = open("test.txt","w", encoding="utf-8") number = 0 while number < 5: file.write("some text" + ", ") number += 1 我想删除结尾处添加的最后一个“,”如下所示: some text, some text, so

我用Python编写了一个函数,将数据排序到字典语法中,但由于我在使用
时使用了
,因此我希望删除一个逗号,以避免使用无效语法

例如,使用以下代码:

file = open("test.txt","w", encoding="utf-8")
number = 0
while number < 5:
    file.write("some text" + ", ")
    number += 1
我想删除结尾处添加的最后一个“,”如下所示:

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

有什么想法吗?

只需对最后一个元素使用不同的命令即可

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
file=open(“test.txt”,“w”,encoding=“utf-8”)
数字=0
当数量<5时:
file.write(“一些文本“+”,”)
如果(数字=4):
file.write(“一些文本”)
数字+=1

我会使用
加入

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

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))
file=open(“test.txt”,“w”,encoding=“utf-8”)
数字=0
列表到添加=[]
当数量<5时:
list_to_add.append(“一些文本”)#您可以根据迭代添加任何内容
数字+=1
file.write(“,”.join(列表添加))

在不使用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'

一个建议是:首先构造整个句子(如果是列表或什么的话,使用
.join
方法),然后一次写一个句子。基本上,不要使用内部while循环,而是一次构造并编写一个句子。备注:我的脚本实际上比我上面写的示例长,并且包含几个“if,elif,…”。这是我正在寻找的一种简单方法,只删除文件的最后一个字符。我的一个解决方案是关闭()文件,重新打开它并使用x=x[:-1]删除最后的字符,但我确信有更好的方法来实现它。这将毫无问题地工作,但由于我实际的“while”循环比上面的循环长得多,我必须重复两次代码,您可以使用在算法的最后一次迭代中处于活动状态的
if
条件。在该条件下,可以修改
write
命令
In [1]: ", ".join(["some text"] * 5)
Out[1]: 'some text, some text, some text, some text, some text'