使用类在行上导入文件
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实例,而不是类本身。
以上是关于使用类在行上导入文件的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段
第 7 行的 InflateException 二进制 XML 文件:膨胀类片段时出错
14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段