python获取文件名并在另一个脚本中打开

python获取文件名并在另一个脚本中打开,python,file,variables,import,Python,File,Variables,Import,我有一个1.py作为: 1.py def file_save(): f = th1.asksaveasfile(mode='w', defaultextension=".txt") filename = f.name 我还有另一个文件two.py,需要从“one.py”打开“filename”: from one import filename with open(filename,'w'): print('hello') 请帮我解决这个问题,它没有得到文件名。答案

我有一个1.py作为:

1.py

def file_save():
    f = th1.asksaveasfile(mode='w', defaultextension=".txt")
    filename = f.name
我还有另一个文件two.py,需要从“one.py”打开“filename”:

from one import filename
with open(filename,'w'):
     print('hello')
请帮我解决这个问题,它没有得到文件名。答案将不胜感激

One.py:

def file_save():
    f = th1.asksaveasfile(mode='w', defaultextension=".txt")
    filename = f.name
    return filename;
Main.py:

from one import file_save
with open(file_save,'w'):
   print('hello')
在Python中,除非返回变量,否则无法访问函数中的变量

编辑:

试一试


如果从不调用
file\u save
,为什么
filename
应该有一个值?请记住,除非执行函数,否则函数不会执行任何操作。
filename
one.py
中的函数内部分配;为什么不让函数
返回它,然后调用该函数?@jornsharpe one.py是一个tkinter应用程序,我需要将“filename”的名称写入新的文本文件,而不是再次打开tkinter gui而不是打印hello!事实上,我需要打开一个文本文件,然后打印hello,但不是打印hello,而是再次打开导入的文件,再次运行我编辑的GUI应用程序,以可能修复您的问题。。。哪个GUI应用程序运行?但如果使用f.write('hello')而不是print,即使在提供f.close()之后,它也不会写入文件
f = open(file_save, 'w')
print('hello')