使用类在行上导入文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用类在行上导入文件相关的知识,希望对你有一定的参考价值。

我正在导入一个类模块,然后打开一个文本文件。也许我不是正确理解类,但我在想,如果我调用init构造函数,它会从文件中获取信息并将其置于该格式中。我已经阅读了很多问题,询问如何在这个网站上做这个,关于人们在阅读文本文件和使用它们的构造函数时遇到问题 - 但是没有看到任何结合导入文件和类组件的答案。这是我的班级代码:

class Apartments:
      def __init__(self,apartNum, rent, rooms, bath):
            self.apartNum=apartNum
            self.rent=rent
            self.rooms=rooms
            self.bath=bath

这是我要导入的文件:

import sys
sys.path.append("/Users/kabe/Desktop/Apartments")

import Apartments

dataFile = open('apartmentData.txt').readlines()

everything after this point is code I tried out but doesn't work.

apartmentsList = []
for line in dataFile:
    strippedLine=line.split()
    apartmentsList.append(Apartments)

for apartment in apartmentsList:
    print(apartment.apartNum + ' ' + apartment.rent + ' ' + apartment.rooms + ' ' + apartment.bath)
openfile()

此代码给出了以下错误:

Traceback (most recent call last):
  File "C:/Users/lortiz/Desktop/Memes/College/homework/l_kennedy_lab8_wk9.py", line 13, in <module>
    print(apartment.apartNum + ' ' + apartment.rent + ' ' + apartment.rooms + ' ' + apartment.bath)
AttributeError: module 'Apartments' has no attribute 'apartNum'

我正在尝试从我导入的文本文件中实现看起来像这样的类对象:

apt_1= Apartments(111,1000,1,1)
apt_2= Apartments(112,2000,2,1)
apt_3= Apartments(113,2500,2,2)
apt_4= Apartments(114,3000,3,2)
apt_5= Apartments(115,3500,3,3)

谢谢!

答案
apartmentsList.append(Apartments(*strippedLine))

您应该添加Appartments实例,而不是类本身。

以上是关于使用类在行上导入文件的主要内容,如果未能解决你的问题,请参考以下文章

ngFor 在行和列问题上使用 ngClass

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

第 7 行的 InflateException 二进制 XML 文件:膨胀类片段时出错

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

在Android中,如何将数据从类传递到相应的布局/片段文件?

Twitter Bootstrap - 在行之间添加顶部空间