如何解决Python使用open打开一个变量作为文件名
我坚持使用存储在函数中的变量读取.csv文件的最佳方法。
在使用类似with
之类的路径之前,我只使用过open
(r"C:/Users\James\Desktop\test_data.csv")
。如果我将(r"C:/Users\James\Desktop\test_data.csv")
存储到FilePath = (r"C:/Users\James\Desktop\test_data.csv")
中并使用with open(FilePath) as f:
,它将起作用。因此,我确定我在def select_input_file():
函数with open(r,(input_file_path)) as f:
的函数中弄乱了东西,但无法正常工作。 Fyi,使用python 3.8.5。我已经减少了代码,以包含我认为对这个问题必要的内容。干杯
with open(r(input_file_path)) as f:
解决方法
我相信的问题是,您使用的是askopenfile
而不是askopenfilename
,据说可以解决此问题。
askopenfile
的作用是打开文件供您读取或写入,类似于open()
。
但是askopenfilename
的作用是它返回您选择的文件的路径,这就是您要使用的文件,因为代码围绕文件的路径旋转。
或者,您也可以只使用askopenfile
来编写代码,也可以在代码中省略open()
和askopenfilename
。
Click here for more Information on askopenfilename and example
如有任何疑问或错误,请告诉我。
欢呼