gpt4 book ai didi

Python通过函数调用读取输入行

转载 作者:行者123 更新时间:2023-12-01 03:39:05 25 4
gpt4 key购买 nike

下面的代码可以完美接收我的输入数据 (list.txt) 并将第 2 到 5 行返回到屏幕。

def get_list():

file = open('list.txt', 'r')
lines = file.read().splitlines()[2:5]
print (lines)

get_list()

但是我需要实现一些可以调用函数的东西,例如:

get_list()[2:5] 

这将在第 2 行和第 5 行之间打印。任何人都可以建议我可以做到这一点的可能方法吗?谢谢!

最佳答案

正如我在问题评论中提到的,这不是明智的做法,但这是可以做到的。为了测试此代码,我使用 GNU coreutils 命令 seq 创建了一个包含整数 0 到 9 的文本文件:

seq 0 9 >list.txt

这是 Python 代码:

class AutoPrint(object):
def __init__(self, data):
self.data = data

def __getitem__(self, idx):
for row in self.data[idx]:
print(row)

def get_list(fname):
with open('list.txt') as f:
data = f.read().splitlines()
return AutoPrint(data)

get_list('list.txt')[2:5]

输出

2
3
4

但是不要在实际代码中做这样疯狂的事情!我的 __getitem__ 方法返回 None ;正确的 __getitem__ 应该返回选定的项目。而且它不应该有疯狂的副作用,比如打印东西。 OTOH,我想当您开发代码时,它可以很方便地打印(或记录)内容,以便您知道它正在执行您期望它执行的操作。

关于Python通过函数调用读取输入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39956534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com