【问题标题】:Turn file of Names into a List/Array将名称文件转换为列表/数组
【发布时间】:2019-07-14 12:00:48
【问题描述】:

这是一个非常基本的问题,但在 Visual Studio 中,我想将一堆名称转换为字符串数组。对于 100 多个名字,我如何快速做到这一点?

我的 py 文件目前:

Owen
Dylan
Luke
Gabriel
Anthony
Isaac
Grayson
Jack
Julian
Levi

我想要的样子:

["Owen",
"Dylan",
"Luke",
"Gabriel",
"Anthony",
"Isaac",
"Grayson",
"Jack",
"Julian",
"Levi",
]

【问题讨论】:

  • 您是在寻求 Python 程序的帮助来进行此转换,还是在 VS 中进行转换?
  • 我在问是否有任何 Visual Studio 快捷方式

标签: python arrays visual-studio list arraylist


【解决方案1】:

你可以很容易地打开一个文件并读取它的所有行:

with open('names_file.txt', 'r') as fp:
    names = fp.readlines()

print(names)

打开read mode中的文本文件并读取所有行,每一行将是names列表中的一个项目。

【讨论】:

    【解决方案2】:

    只需打开文件并将其分配给数组变量

    with open('names_file.txt', 'r') as fp:
    names = fp.read().splitlines()  #splitlines removes /n from each array element
    print(names)
    

    r模式打开文件并将字符串中的每一行赋值给变量name

    【讨论】:

      【解决方案3】:

      如果将名称列表转换为与您提供的示例相同的文件中的 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"]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-06
        • 2016-04-14
        • 1970-01-01
        • 1970-01-01
        • 2015-07-02
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        相关资源
        最近更新 更多