我在 Python 中有列表拆分问题(已解决)

I have a list splitting problem in Python (Solved)

我正在将文件读入列表。现在我想要,我的列表中的每个昏迷之后,都应该有一个新索引。到目前为止,所有内容都放在索引 0 中。

相关代码:

def add_playlist():
playlist_file_new =filedialog.askopenfilename(initialdir=f'C:/Users/{Playlist.username}/Music',filetypes=[('Playlistdateien','.txt')])
with open (playlist_file_new,'r') as filenew:
    filenew_content = list(filenew.readlines())
    print(filenew_content[0])

那么,我该怎么做才能在每个逗号之后开始一个新索引? 请帮助我,我提前谢谢你。另外,如果这是一个非常基本的问题,我很抱歉,我真的是编程新手。

可能你想要的是.split()函数:https://docs.python.org/3/library/stdtypes.html#str.split

不使用 list(),而是使用 str.split()。为此,您不能使用 readlines(),因为那是 returns 行列表。

您正在寻找这样的东西:

filenew_content = playlist_file_new.read().split(",")

这会获取文件对象,获取包含其内容的字符串,并将其拆分为一个列表,使用逗号作为分隔符。

我没有尝试你的代码,但我会这样做:

with open (playlist_file_new,'r') as filenew:
    filenew_content = filenew.read()
    filenew_content_list = filenew_content.split(",")

将文件的完整数据(请小心大于工作内存(RAM)的文件)读入变量filenew_content。 它以字符串形式返回。 Python 中的字符串对象具有方法 split(),您可以在其中定义一个字符串,其中较大的字符串应该被拆分。

如果你的意思是要把list[str]变成list[str, str, str…],你可以使用str.split(str)的方法。请参阅以下内容:

l = ["hello,world,this,is,a,list"]
new_l = l[0].split(",")
print(new_l)
>>> ["hello", "world", "this", "is", "a". "list"]

string.split(',') 方法应该有效。 例如

# loop over all the lines in the file
for line in filenew.readlines():
    items = line.strip().split(',')
    # strip strips the line of leading and trailing whitespace. 
    # split returns a tuple of all the strings created by 
    # splitting at the given character.

    # loop over all the items in the line
    for item in items:
        # add them to the list
        filenew_content.append(item)

另请参阅:Python documentation for strings