首页 > 解决方案 > 如何使用 *args 连接无限参数

问题描述

我正在编写一个依赖 txt 文件的 python 数据库。我有一个有一些参数的函数。这是基本代码:

def store_new_content(mainfield,filename,f1 = None,f2 = None,f3 = None,*arg):
      file1 = open(f"{filename}.txt","w")
      name1 = f":{f1}"
      name2 = f":{f2}"
      name3 = f":{f3}"
      unlimitedname= f":{arg}"
      file1.write(f"{name}{name1}{name2}{name3}{arg} \n")

看起来很正常吧?错误的。所以我希望 filename.txt 中的结果是 f1:f2:f3:f4:f5:f6:f7 等等。但它以 f1:f2:f3(f4,f5,f6,f7) 的形式出现。那么我如何让它正确地出现,顺便说一句 f4,f5,f6,f7 来自 *args。如果不可能的话,有人知道如何拥有可以整齐地输出的无限参数吗?

标签: pythondatabasetxt

解决方案


arg是传递给你的函数的其他参数的列表,你可以简单地加入这个数组的元素,就像 python 中的任何列表一样。

>>> def test(*arg):
...     print(':'.join(arg))
... 
>>> test('f1', 'f2', 'f3')
f1:f2:f3

推荐阅读