Peter N
Peter N

Reputation: 31

Print file name (after creating file)

How can i display the name of the file (after creating it). for example filename.....txt

from datetime import datetime
default_name_begining_of_the_file = "Investment_result_"

savereport = input("Save result to text file? ")

if savereport in ["y", "yes", "YES"]:

     nameoffileinput = (input("Name of begining of the file: ") or default_name_begining_of_the_file)
     generatedatetime = datetime.now().strftime("%Y_%m_%d-%I%M%S_%p")
     open(f'{nameoffileinput}_{generatedatetime}.txt', 'w')

else:
     print(f"Result will not be written to text file.")

Upvotes: 0

Views: 199

Answers (1)

yeachan park
yeachan park

Reputation: 180

Just add print before open(f'{nameoffileinput}_{generatedatetime}.txt', 'w').

For example:

from datetime import datetime
default_name_begining_of_the_file = "Investment_result_"

savereport = input("Save result to text file? ")

if savereport in ["y", "yes", "YES"]:

     nameoffileinput = (input("Name of begining of the file: ") or default_name_begining_of_the_file)
     generatedatetime = datetime.now().strftime("%Y_%m_%d-%I%M%S_%p")
     file_name = f'{nameoffileinput}_{generatedatetime}.txt'
     print(f"The name of written file is : {file_name}")
     with open(file_name, 'w') as f:
        pass # do stuff...

else:
     print(f"Result will not be written to text file.")

Additionally, it would be better to close open() part with with statement.

Upvotes: 2

Related Questions