[英]Permission denied to .json file when using a JSON file as a store in Kivy app
我正在嘗試將值存儲在JsonStore文件中,但是單擊按鈕時出現以下錯誤;
在store_sync中,文件“ C:\\ utils \\ kivy \\ kivy \\ kivy \\ kivy \\ storage \\ jsonstore.py”的行39以fd打開(self.filename,'w'),權限為:PermissionError:[Errno 13]權限被拒絕:'storage .json'
# import Kivy
import kivy
import random
import json
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.storage.jsonstore import JsonStore
# my app
class MyApp(App):
# layout
def build(self):
# basic layout
layout = BoxLayout(padding=10, orientation='vertical')
self.store = JsonStore('storage.json')
# widgets
# button 1
self.btn1 = Button(text="OK")
self.btn1.bind(on_press=self.buttonClicked)
layout.add_widget(self.btn1)
# label 1
self.lbl1 = Label(text="test")
layout.add_widget(self.lbl1)
# input 1
self.txt1 = TextInput(text='', multiline=False)
layout.add_widget(self.txt1)
# return layout
return layout
# button click function
def buttonClicked(self,btn):
self.lbl1.text = "You wrote " + self.txt1.text
self.store.put('myStorage1', value1=self.txt1.text, value2='test')
# run app
if __name__ == "__main__":
MyApp().run()
使用Kivy的user_data_dir自動確定用戶數據在不同設備上的存儲位置,然后傳遞文件的完整路徑進行存儲。
from kivy.storage.jsonstore import JsonStore
from os.path import join
data_dir = App().user_data_dir
store = JsonStore(join(data_dir, 'storage.json'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.