使用**kwargs创建.txt文档

Pio*_*ner 2 python keyword-argument python-3.x

如何使用**kwargs我新创建的.txt文档?

def credentials_file(filename, **kwargs):
    open(filename, "w")
    for key, value in kwargs.items():
        filename.write("{}: {}\n" .format(key, value))


credentials_file("credentials.txt", First_Name="John", 
Last_Name="Cleese")
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 6

open(filename, "w")没有转变filename,从一个字符串转换为文件处理程序,它会打开文件(有时创建文件),并返回一个句柄.

所以你应该使用:

def credentials_file(filename, **kwargs):
    handle = open(filename, "w")
    for key, value in kwargs.items():
        handle.write("{}: {}\n" .format(key, value))
    handle.close()
Run Code Online (Sandbox Code Playgroud)

但是在句柄的情况下,最好使用with上下文:

def credentials_file(filename, **kwargs):
    with open(filename, "w") as handle:
        for key, value in kwargs.items():
            handle.write("{}: {}\n" .format(key, value))
Run Code Online (Sandbox Code Playgroud)

当你跳出来时,上下文会自动关闭文件with.