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)