使用字符串有问题的打开文件

时间:2018-12-03 18:46:27

标签: python python-3.x

我正在编写一个程序,让您编辑文本。大部分都可以正常工作,但是应该打开文件并打印的部分在接收到输入后便自动关闭。

    while True:
        nom_pac = input("Escriba el nombre del paciente: ")
        nom_arch = str(nom_pac + ".txt")
        arch_abierto = open(nom_arch,"r+")
        for line in nom_pac:
            print(arch_abierto)

#More code

        term_prog = str(input("""Desea cerrar el programa?
        (si/no) """))
        if term_prog=="si":
            quit()
        elif term_prog=="no":
            print("""



                """)

3 个答案:

答案 0 :(得分:0)

好的。因此,查看您的代码和Google翻译的帮助,我可以看到您正在尝试读取患者的姓名作为输入,然后使用该姓名创建文本文件。 这将为每个条目创建一个新的文本文件-这就是您想要的吗?

此外,在使用for循环读取文件时,请指定nom_pac,这是用户输入的名称。应该改为arch_abierto

for line in nom_pac:
    print(arch_abierto)

正确用法:

for line in nom_arch:
    print(line)

答案 1 :(得分:0)

如果我理解正确,则您正在尝试打印通过用户输入输入的文件的内容。您可以通过以下方式简单地做到这一点:

nom_pac = input("Escriba el nombre del paciente: ")
nom_arch = str(nom_pac + ".txt")
print(open(nom_arch).read())
# Other stuff

答案 2 :(得分:0)

您可能还希望在for循环和打印中将nom_pac更改为arch_abierto

while True:
    nom_pac = input("Escriba el nombre del paciente: ")
    nom_arch = str(nom_pac + ".txt")
    arch_abierto = open(nom_arch,"r+")
    for line in arch_abierto:
        print(line)

    term_prog = str(input("""Desea cerrar el programa?
    (si/no) """))
    if term_prog=="si":
        quit()
    elif term_prog=="no":
        print("""



            """)