这是一个非常基本的问题,但在Visual Studio中我想将一堆名称转换为字符串数组。我如何快速为100多个名字做到这一点?
我的py文件目前:
Owen
Dylan
Luke
Gabriel
Anthony
Isaac
Grayson
Jack
Julian
Levi
我希望它看起来像:
["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
]
您可以轻松打开文件并阅读其所有行:
with open('names_file.txt', 'r') as fp:
names = fp.readlines()
print(names)
在read mode
中打开文本文件并读取所有行,每行将是names
列表中的项目。
只需打开文件并将其分配给数组变量即可
with open('names_file.txt', 'r') as fp:
names = fp.read().splitlines() #splitlines removes /n from each array element
print(names)
在r
模式下打开文件,并将字符串中的每一行分配给变量name
如果将名称列表转换为与您提供的示例中相同的文件中的Python列表,则可以尝试以下操作:
names = []
with open('names.py', 'r') as inFile:
names = [name for name in inFile]
with open('names.py', 'w') as outFile:
outFile.write('[')
for name in names:
finalName = "\"" + name + "\""
outFile.write(finalName.replace('\n','') + ',\n')
outFile.write(']')
输出:
["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
]
请注意,由于最后一个逗号,上面的内容不是有效的Python列表。如果要创建有效列表,可以使用以下命令:
names = []
with open('names.py', 'r') as inFile:
names = [name for name in inFile]
with open('names.py', 'w') as outFile:
newNames = ["".join(["\"",name,"\""]).replace("\n","") for name in names]
outFile.write('[')
outFile.write(",\n".join(newNames))
outFile.write(']')
输出:
["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi"]