Python没有逐行写入 - python

请帮助我找到原因,我的代码不是逐行写入文件,它只是写入循环的最后一个。

代码-

for root, dirs, files in os.walk(lpath):
    f = open("filelist.txt","w")
    for name in fnmatch.filter(files, 'hdfs-audit.log.*'):
        filename = os.path.join(root, name)

        bname=ntpath.basename(filename)
        if os.stat(filename).st_mtime < (now - (xdays * 86400)):
            print(filename)
            f.write(filename)
            f.write("\n")
            print("file_mtime:" + str(os.stat(filename).st_mtime))
            print("now:" + str(now))
            print("now - xdays * 86400:" + str(now - (xdays * 86400)))
    f.close()

输出-

/var/log/hadoop/hdfs/hdfs-audit.log.2017-03-21
file_mtime:1490068800.0
now:1490592233.67
now - xdays * 86400:1490505833.67
/var/log/hadoop/hdfs/hdfs-audit.log.2017-03-20
file_mtime:1489982400.0
now:1490592233.67
now - xdays * 86400:1490505833.67

只要

/var/log/hadoop/hdfs/hdfs-audit.log.2017-03-20

在filelist.txt文件中,它不包含

/var/log/hadoop/hdfs/hdfs-audit.log.2017-03-21

这可能是什么原因?

参考方案

这是因为您这样做:

for root, dirs, files in os.walk(lpath):
     f = open("filelist.txt","w")

每次循环时,都会重新创建filelist.txt。因此,它已经包含的所有内容都被删除。

您需要像这样切换它:

f = open("filelist.txt","w")
for root, dirs, files in os.walk(lpath):

切记也将f.close()移出循环。

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

如何从python向终端(linux)发送多个命令? - python

我想向Linux终端发送命令以运行python脚本。我有一个要运行的python文件列表,当我们顺序阅读该列表时,我想一个接一个地运行它们。第一个文件完成后,应发送第二个文件以运行,依此类推。 参考方案 您可以使用以下命令顺序运行脚本:python script1.py && python script2.py && pyth…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…