我有一个包,我用于我的研究,有一个类的方法,写入一些信息,但只写入信息到一个文件(即该方法需要一个文件对象作为参数和作为唯一的参数) 。但是,我需要我的代码中的特定信息,而不是文件中。用Python写一个文件实际上是一个变量?
我目前的解决方案是让该方法将信息写入文件,然后打开该文件并使用基本的I/O函数来读取信息。
我想知道,但是,有没有办法欺骗该方法,使其认为它写入文件时,它实际上是写入变量或列表或其他东西?换句话说,有没有办法让一个文件对象实际上指向一个变量/列表/数组/无论在代码中而不是实际的文件?
电流:
with open('file.txt','w') as f:
method.write_info(f)
with open('file.txt','r') as f:
info = f.readlines()
我想要(或多或少,我只是用我很熟悉一样打开文件的语法):
with open(<some sort of variable>) as var_file:
method.write_info(var_file)
#Then do whatever I want with the information
print <some sort of variable>
注:我m使用Python 2.7
也许让继承包含该功能你原来的班级一个新的类,并重写/特别重写功能(更换写入文件的一部分写入到变量)在你的新班级? – xbb