如何阅读使用csv.writer流式传输的文件的内容?

时间:2017-09-12 15:04:08

标签: python

我有一个复杂的结构,涉及一个对象(在以下简化代码中称为MyClass类的mc),在某些情况下,应该在csv文件中添加行(test1.csv和test2.csv)例子)。

该程序实际上是一台需要最终等待的服务器。在这里,我用待处理的输入替换了整个部分,因为我注意到在这种情况下会出现同样的问题。

以下是简化程序:

import csv
class MyClass(object):
    def __init__(self):
        csvfile = open("./test1.csv", 'w', encoding='utf-8', newline='')
        stream = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        stream.writerow(["stream created"])

        csvfile2 = open("./test2.csv", 'w', encoding='utf-8', newline='')
        self.stream2 = csv.writer(csvfile2, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        self.stream2.writerow(["stream2 created"])
    def do(self):
        self.stream2.writerow(["done"])

mc = MyClass()
mc.do()
_ = input("doing a pause")

所以基本上我在这里创建一个对象“mc”,同时创建两个流。初始化结束后,stream1将关闭,只添加一行,但stream2将作为属性保留供以后使用。

如果我将输入保留为挂起,我可以注意到test1.csv和test2.csv都已创建,但test1.csv有我期望的行,test2.csv为空(我希望它有“stream2”行创造了“和”完成“)。如果我完成程序,那么test2.csv将根据需要填充。

我的问题是我想在不结束服务器的情况下检查文件的内容,并保留写更多内容的可能性。我怎么能这样做?

0 个答案:

没有答案