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

在此功能中使用哪些参数?

如何解决在此功能中使用哪些参数?

我正在尝试将这段代码放入函数中,这样我就可以避免每次都只复制粘贴代码。这里是我要放入函数中的代码

{{1}}

edit1:我已经像Chepner的建议一样更改了代码,但问题仍然是没有输出写入到test.txt文件中。 我想念什么?

非常感谢!

解决方法

这个问题没有答案。这取决于您要如何重用此功能。您可以先问自己以下问题:

  1. 我总是需要打开相同的文件,即test.txt,否则,可以将其设置为参数。
  2. 我将始终将目录更改为同一文件夹,即"//10.2.30.61/c$\Qlikview_Tropal/apps/ventes"
  3. 我将始终将相同的文本写入文件,即{fichiers} = {duration} \n

如果这些内容在不同的上下文中发生变化,则可以使它们成为参数。但是,如果一切都一样,则只需定义一个没有任何参数的函数即可。

,

如果您只想拥有函数without,则可以执行以下任何操作:

def my_function():
  f= open("test.txt","w+")
  os.chdir("//10.2.30.61/c$\Qlikview_Tropal/apps/ventes")
  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 < 1:
        f.write(f"{fichiers} = {duration} \n")

像这样my_function()

函数with parameters:根据您提供的代码,您可以将文件名和url保留为函数的参数,例如:

带有参数的功能可以与不同的参数一起反复使用

def my_function(fileName,URL):
  f= open(fileName,"w+")
  os.chdir(URL)
  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 < 1:
        f.write(f"{fichiers} = {duration} \n")

然后将其命名为:

my_function("test.txt","//10.2.30.61/c$\Qlikview_Tropal/apps/ventes")
,

照原样,您不需要任何参数(尽管我将使用with语句对其稍做重写):

def my_function():
    with open("test.txt","w+") as f:
        os.chdir("//10.2.30.61/c$\Qlikview_Tropal/apps/ventes")
        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 < 1:
                f.write(f"{fichiers} = {duration} \n")

my_function()

但是,您可能希望以几种方式对函数进行参数化。硬编码的输出文件名和输入目录都是候选。

def my_function(output_name,input_dir):
    with open(output_name,"w+") 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 < 1:
                f.write(f"{fichiers} = {duration} \n")

my_function("test.txt","//10.2.30.61/c$\Qlikview_Tropal/apps/ventes")

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