我有一个浏览按钮,您可以在其中选择任何文件,我希望能够打开我选择的任何文件。但是open()方法仅使用文件名,我该怎么做呢?
#browsePath.set(browsePathEntry.get()) (both variables already declared)
def browseButtonClicked():
browsePath = filedialog.askdirectory()
def submitClicked():
with open('Besties.txt', 'w') as file:
答案 0 :(得分:3)
欢迎来到社区!
您的问题实际上是关于编程的一个非常漂亮(有用)的部分,因为在大多数情况下,我们想一次又一次地使用程序来完成相同的工作,而不仅仅是一次性使用。
说,如果您想要一个打印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
相关)来存储字符串类型的文件名称文字。
希望这会有所帮助。