Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy应用程序可以';t在根目录中查找/读取我的txt文件_Python_Android_Linux_Kivy_Buildozer - Fatal编程技术网

Python Kivy应用程序可以';t在根目录中查找/读取我的txt文件

Python Kivy应用程序可以';t在根目录中查找/读取我的txt文件,python,android,linux,kivy,buildozer,Python,Android,Linux,Kivy,Buildozer,我创建了一个应用程序,它只读取我的txt,并将内容打印到带有标签的屏幕上,但当我在android上运行该应用程序时,它找不到我的txt,在windows上工作正常。这是我的密码: from kivy.app import App from kivy.uix.label import Label from kivy.uix.floatlayout import FloatLayout class MainApp(App): def build(self): fl = Fl

我创建了一个应用程序,它只读取我的txt,并将内容打印到带有标签的屏幕上,但当我在android上运行该应用程序时,它找不到我的txt,在windows上工作正常。这是我的密码:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout

class MainApp(App):
    def build(self):
        fl = FloatLayout()
        fl.add_widget(Label(text=open("settings.txt", "r").read(), halign="center"))
        return fl

MainApp().run()
怎么了?我不会使用ConfigParser,因为它已经在我的项目中使用了,这只是我为这个问题创建的一个示例代码

任何帮助都将不胜感激

open("settings.txt", "r").read()
此代码尝试打开当前目录中已存在的名为“settings.txt”的文件。你还没有解释失败的本质,但想必它并不存在。您还没有解释为什么您认为该文件会存在,所以我们无法指出任何具体错误


一般的解决方案是,做一些事情使该文件存在。可能您在打包的文件类型中忽略了它。

在您的
buildozer.spec
文件中修改以下行:

source.include_exts = py,png,jpg,kv,atlas
致:


并验证您没有在
spec
文件的其他位置排除
txt
文件。

您只使用文件名。不是一条完整的路径。应该从哪个完整目录路径加载文件?谁把那个文件放在那里的?怎么放的?你说根目录,但人们对根目录有不同的想法。更好地命名完整路径。@blackapps我如何在kivy android中做到这一点?它确实存在,它是一个包含文本的文件。您接受另一个答案表明,它实际上并不存在。
source.include_exts = txt,py,png,jpg,kv,atlas