知道如何从fi分配

2024-10-16 22:32:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图知道如何从Python中每行的文本文件中指定某些变量

文本文件:

0 Longoria Julia Manager
1 Valdivia Corina Surgeon

在C++版本中,每行分配每个变量的代码是这样编码的:

#include <fstream>
#include <iostream>
#include <string>

using namespace std;

int ID[2];
string lName[2];
string fName[2];
string jobTitle[2];

int main()
{
  fstream file;
  file.open("Employee List.txt");
  index = 0;
  while (!file.eof())
  {
    file >> ID[index] >> lName[index] >> fName[index] >> jobTitle[index];
    index++;
  }
  file.close();
  return 0;
}

在Java版本中,每行分配每个变量的代码编码如下:

import java.io.*;
import java.util.*;

public class fileToVariable
{
  public static void main(String[] args)
  {
    int ID[2] = {0, 0};
    String lName[2] = {"", ""};
    String fName[2] = {"", ""};
    String jobTitle[2] = {"", ""};
    try
    {
      ifstream = new Scanner(new fileInputStream("Employee List.txt"));
    }
    catch (FileNotFoundException e)
    {

    }
    while (ifstream.hasNextLine())
    {
      ID[index] = ifstream.nextInt();
      lName[index] = ifstream.next();
      fName[index] = ifstream.next();
      jobTitle[index] = ifstream.next();
      index++;
    }
  }

有人知道Python是如何对文件中的每个变量赋值的吗


Tags: 代码版本idstringindexincludefnamefile
2条回答

您可以使用以下选项:

file = open("text.txt", "r")
lines = file.readlines()
ids = []
lnames = []
fnames = []
jobtitles = []

for line in lines:
    id1, lname, fname, jobtitle = line.split()
    ids.append(id1)
    lnames.append(lname)
    fnames.append(fname)
    jobtitles.append(jobtitle)

Python没有任何用于将单词直接读入变量的内置方法。相反,您将整行读入一个字符串,然后使用字符串操作对其进行解析

我们通常不会为每个属性单独列出列表,而是将它们全部收集到一个字典中,然后列出这些属性

employees = []
line = f.readline()
id, lname, fname, jobtitle = line.split()
employees.append({"id": id, "fname": fname, "lname": lname, "title": jobtitle})

相关问题 更多 >