def readcsv(myfile):
myfile_o = open(myfile, "rU")
reader = csv.reader(myfile_o, delimiter=",")
def csvmain():
readcsv('/Users/madrad/Dnl/Hei/demand.csv')
csvmain()
为什么我需要指定传递给函数的csv文件的完整路径?当我手动在终端中执行相同的代码时,不需要该路径。但是,当代码作为exe文件运行(使用pyinstaller编译)时,如果没有完整路径,它将无法运行。 即使我将csv文件放在exe文件的同一目录中,它也找不到文件和程序终止。 我需要以编程方式传递路径,但我不知道如何。我很感激任何建议。
答案 0 :(得分:0)
您可以使用os包来规范化并获取文件的绝对路径。
import os
def readcsv(myfile):
myfile_o = open(myfile, "rU")
reader = csv.reader(myfile_o, delimiter=",")
def csvmain():
readcsv(os.path.normpath(os.path.realpath('/Users/madrad/Dnl/Hei/demand.csv')))
csvmain()
我认为,就这样,它应该有用。我也是这样做的,以获得不同路径和os的配置文件。