微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何指定我要输出到哪里?

如何解决如何指定我要输出到哪里?

我在python中有这个脚本,几乎可以正常工作。 其目的是每天检查特定目录下的文件是否今天被修改了。 如果今天或最近五天对它们进行了修改,则将它们的日期和时间存储在文本文件中,如果更旧,则不存储。

现在我被困在输出部分。它产生了3个测试文件,我问的问题是它没有将它们放在正确的位置。 我尝试使用os.chdir(input_dir)glob.glob。使用os.chdir不能将它们放置在正确的位置,而使用glob可以生成3个文件,但是不能存储在正确的文件夹中,并且其中包含错误的信息。

这是我的代码

    import os,glob,time,datetime


def my_function(output_name,input_dir):
    with open(output_name,"a+") as f:
        os.chdir(input_dir)
        for fichiers in glob.glob("*"):
            today = datetime.datetime.today()
            modified_date = datetime.datetime.fromtimestamp(os.path.getmtime(fichiers))
            duration = today - modified_date
            if duration.days < 5:
                f.write(f"{fichiers} = {duration} \n")
        

arguments = {"test1.txt" : "//10.2.30.61/c$/Qlikview_Tropal/Apps/Ventes","test2.txt" : "//10.2.30.61/c$/Qlikview_Tropal/Apps/Marge","test3.txt" : "//10.2.30.61/c$/Qlikview_Tropal/apps/prod"}
for output_name,input_dir in arguments.items():
    my_function(output_name,input_dir)

编辑:所以我尝试添加f.close(),检查它是否确实在更改目录,但仍然没有任何进展。发生的情况是将test1.txt保存在运行脚本的文件夹中,将test2保存在“通风孔”中,将test3保存在“ Marge”中,而不是将test1保存在“ ventes”中,将2保存在“ marge”中,将3保存在“ prod”中

EDIT2:仍然卡住! :(

如果您对如何使每个测试输出在正确的文件夹中或在一个文本文件中有任何提示,我将为之

谢谢!

解决方法

您可以尝试os.path.join(...)

def my_function(output_name,input_dir):
    file_path = os.path.join(directory,filename)
    with open(file_path,"a+") as f:
    ...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。