python - 拆分时超出范围(基本)
问题描述
我试图从文本文件中读取类对象并将其添加到列表中,但我超出了范围。我希望能够在文本文件中添加活动并在我调用时将它们全部打印出来,例如:activities.name
,而不必给出列表的特定范围。
文本文件:
Football 7-8
Eating 9-10
Running 11-12
reading 13-14
代码:
class Activites:
def __init__(self, name,startTime, endTime):
self.name = name
self.startTime = startTime
self.endTime = endTime
def filee_():
global activites
activities = []
f = open('text.txt', 'r').readlines()
for i in f:
time = i[2].split("-")
activities.append(Activites(i[0], time[0], time[1]))
return activities
解决方案
您需要先拆分i
并获取索引 1。
class Activites:
def __init__(self, name,startTime, endTime ):
self.name = name
self.startTime = startTime
self.endTime = endTime
def filee_():
global activites
activities = []
f = open('text.txt', 'r').readlines()
for i in f:
print(i)
i=i.split()
time = i[1].split("-")
activities.append(Activites(i[0], time[0], time[1]))
return activities
因为您的函数filee_() 返回 Activity 对象的列表。您可以使用以下逻辑来迭代列表并获取名称。
for item in filee_():
print(item.name)
推荐阅读
- jekyll - GitHub 页面中的 Rouge 语法高亮显示
- flutter - Flutter 应用中的 HMS 和 GMS - 同名不同实现的类
- azure - 使用多租户应用程序的 sas 令牌跨容器同步时出现 Azure“azcopy 同步”问题
- java - 我无法启动我为学术项目下载的这个文件,显示缺少方法错误
- mysql - Node.js 使用循环从数组更新列
- php - 根据 PHP 变量更改文本的 CSS 颜色
- javascript - 为什么 node.js 异步不超时?
- ruby-on-rails - 如何链接搜索参数并将它们用作对象?
- javascript - addEventListener 不适用于 window.onload?
- python - 如何将文本转换为二进制?