我使用kivy编写了一个简单程序,窗口只有一个按钮,当我点击这个按钮的时候,会生成一个csv文件。
当我在电脑上运行时,能正常生成,生成在代码的同级目录下。
而当我打包成apk文件并安装到手机后,点击按钮后不知道能不能生成csv文件,
反正是在手机上找不到这个csv文件。
请问在手机上能生成吗?如果能,文件存储到哪里了?
在手机上运行的Kivy程序生成的CSV文件通常存储在应用程序的数据目录中。这个目录通常是应用程序的私有目录,其他应用程序无法访问。
你可以使用Python的os模块和Kivy的App类来获取应用程序的数据目录,并将CSV文件写入该目录。
示例:
import os
from kivy.app import App
import csv
class MyApp(App):
def build(self):
# 获取应用程序的数据目录
data_dir = self.user_data_dir
# 在数据目录中创建一个CSV文件
filename = os.path.join(data_dir, "data.csv")
data = [["John", "Doe"], ["Jane", "Smith"]]
with open(filename, "w", newline="") as f:
writer = csv.writer(f)
writer.writerows(data)
if __name__ == "__main__":
MyApp().run()
在这个例子中,user_data_dir是Kivy App类的一个属性,它返回应用程序的数据目录。os.path.join函数用于将数据目录路径和文件名合并为一个完整的路径。然后,使用csv模块将数据写入CSV文件。