Python 试图通过Kivy打开文件时出错
我正在编写一个应用程序,它可以打开一个csv文件并用Kivy显示数据。 csv文件与main.py存储在同一文件夹中Python 试图通过Kivy打开文件时出错,python,kivy,ioerror,Python,Kivy,Ioerror,我正在编写一个应用程序,它可以打开一个csv文件并用Kivy显示数据。 csv文件与main.py存储在同一文件夹中 class BeerCellar(ScrollView): def __init__(self, **kwargs): super(BeerCellar, self).__init__(**kwargs) self.beer_list = [] with open(os.path.join('beer_archive.csv
class BeerCellar(ScrollView):
def __init__(self, **kwargs):
super(BeerCellar, self).__init__(**kwargs)
self.beer_list = []
with open(os.path.join('beer_archive.csv'), 'rb', 1) as beer_csv:
beer_reader = csv.DictReader(beer_csv)
for beer in beer_reader:
beer_list.append(beer)
我可以使用IDLE打开csv文件,但当我右键单击main.py并在Kivy加载它时选择“发送到:Kivy 1.7.0”时,我得到以下错误:
File "C:\Users\Knute\Python\projects\Kivy_Stuff\Cellar\main.py", line 34, in
__init__
with open(os.path.join('beer_archive.csv'), 'rb', 1) as beer_csv:
IOError: [Errno 2] No such file or directory: 'beer_archive.csv'
文件权限设置为“全部读取/写入”。使用Windows 7,Python 2.7您当前的工作目录中不存在文件
beer\u archive.csv
,该目录很可能是C:\Users\Knute\Python\projects\Kivy\u Stuff\cillar
文件夹
如果没有完整路径,Python将在当前工作目录中查找,这取决于程序的启动方式以及是否调用了os.chdir()
来更改当前工作目录
使用存档文件的完整路径:
with open(os.path.join(folder_path, 'beer_archive.csv'), 'rb', 1) as beer_csv:
其中folder_path
设置为beer_archive.csv
所在文件夹的完整路径
请注意,如果您只需将CSV中的行附加到self.beer_列表
,就可以保存一个循环;以下操作将在一个命令中完成:
class BeerCellar(ScrollView):
def __init__(self, **kwargs):
super(BeerCellar, self).__init__(**kwargs)
with open(os.path.join(folder_path, 'beer_archive.csv'), 'rb', 1) as beer_csv:
self.beer_list = list(csv.DictReader(beer_csv))
您当前的工作目录中不存在文件
beer\u archive.csv
,它很可能是C:\Users\Knute\Python\projects\Kivy\u Stuff\cillar
文件夹
如果没有完整路径,Python将在当前工作目录中查找,这取决于程序的启动方式以及是否调用了os.chdir()
来更改当前工作目录
使用存档文件的完整路径:
with open(os.path.join(folder_path, 'beer_archive.csv'), 'rb', 1) as beer_csv:
其中folder_path
设置为beer_archive.csv
所在文件夹的完整路径
请注意,如果您只需将CSV中的行附加到self.beer_列表
,就可以保存一个循环;以下操作将在一个命令中完成:
class BeerCellar(ScrollView):
def __init__(self, **kwargs):
super(BeerCellar, self).__init__(**kwargs)
with open(os.path.join(folder_path, 'beer_archive.csv'), 'rb', 1) as beer_csv:
self.beer_list = list(csv.DictReader(beer_csv))
谢谢你,Martijn,这似乎成功了!再次感谢你的循环保存技巧。谢谢你,Martijn,这似乎成功了!再次感谢您的循环保存提示。