我不想硬编码要打开的文件('Besties.txt')

2024-10-03 06:26:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个浏览按钮,你可以选择任何文件,我想能够打开任何文件我选择。但是open()方法只接受文件名,我应该怎么做呢

#browsePath.set(browsePathEntry.get())  (both variables already declared)

def browseButtonClicked():
    browsePath = filedialog.askdirectory()

def submitClicked():
    with open('Besties.txt', 'w') as file:

Tags: 文件方法get文件名defopenvariables按钮
1条回答
网友
1楼 · 发布于 2024-10-03 06:26:12

欢迎来到社区

你的问题实际上是关于编程的一个非常漂亮(而且有用)的部分,因为在大多数情况下,我们希望反复使用程序来完成相同的工作,而不仅仅是一次性使用

比如说,如果你想要一个输出1加1之和的函数,你可以简单地说:

def one_plus1():
    return 1 + 1

以后你需要一个程序来打印2加1,甚至3加1的和,你可以写更多这样的函数:

def two_plus1():
    return 2 + 1

def three_plus1():
    return 3 + 1

或者,您可以使用一个变量,使其成为您想要的任何数字:

def just_plus1(x):
    return x + 1

当你需要使用它,比如说,10+1时,只需要用just_plus1(10)来调用它

就这样!这就是精神

回到你的问题上来,如果你想让你的函数可以为任何文件工作,只需要把文件名作为函数的一个参数:

def submitClicked(file_name):
    with open(file_name, 'w') as file:

对于您的示例,只需调用submitClicked('Besties.txt')即可运行它。现在,您可以安全地将函数调用中的纯文本文件名替换为您想要的任何名称,或者您可能想要/需要使用变量(在您的例子中可能与browsePath相关)来存储字符串类型的文件名文本

希望这有帮助

相关问题 更多 >