Home > Software engineering >  How can I print name of the file that I created?
How can I print name of the file that I created?

Time:04-28

def creation():
    #create file and ask name of file
    #1st input - file name is loki.txt
    #2nd input what do we want to write inside txt file
    f = open(input("Minkäniminen tiedosto luodaan?: "), "w")
    f.write(input('Mitä kirjoitetaan tiedostoon?:'))
    f.close()
creation()

def main():
    #file read and printing
    tiedosto = open("loki.txt","r")
    text = tiedosto.read()
    print(text)
    f.close()
return

#last print the name of file and txt inside of txt
print("Luotiin tiedosto", f.name, 'ja siihen tallennettiin teksti:', text)

My question is how do I print that file name into that last line. Error description is: NameError name 'f' is not defined

CodePudding user response:

def creation():
    fileName = input("Minkäniminen tiedosto luodaan?: ")
    if fileName:
        with open(fileName, "w") as f:
            txt = input('Mitä kirjoitetaan tiedostoon?:')
            f.write(txt)
    
    return fname
createdFile = creation()

print(f"Luotiin tiedosto {createdFile`enter code here`} ja siihen tallennettiin teksti: {txt}")

CodePudding user response:

One option would be to save the name in a variable and to return it in creation:

def creation():
    fname = input("Minkäniminen tiedosto luodaan?: ")
    f = open(fname, "w")
    f.write(input('Mitä kirjoitetaan tiedostoon?:'))
    f.close()
    return fname
fname = creation()

print("Luotiin tiedosto", fname, 'ja siihen tallennettiin teksti:', text)
  • Related