我是一名Python程序员,正在尝试创建各种系统来为我正在制作的游戏创建保存数据,并且我希望它在macOS之类的Ubuntu等其他地方。因为我没有macOS,而且不可能仅仅获得ISO来获取macOS VM,所以我无法浏览文件和文件夹,也看不到Linux具有或没有的功能。没有。
我已经尝试到试图获得ISO来在VirtualBox中构建VM的地步,但是并没有成功。
macOS具有Linux所具有的文件或文件夹,反之亦然吗?
答案 0 :(得分:1)
macOS上的应用程序设置通常保存在〜/ Library中的某个位置:常用位置是〜/ Library / Preferences / com.example.mycoolgame.plist以获取首选项(应采用plist格式,而“ com.example.mycoolgame”应为您拥有的有效捆绑ID(您应该拥有域)。该路径的优缺点是高级用户知道此目录,并可以根据需要在该目录中编辑文件。
那么您就有〜/ Library / Caches用于缓存数据。所有缓存的数据都应放在此目录下的某个位置。 (不过,请勿将其用于无法重新生成或重新下载的内容。)
〜/ Library / ApplicationSupport / YourApplicationName / ...:在这里,您基本上可以做任何您喜欢的事情。如果在这种情况下,“ YourApplicationName”在全局范围内是唯一的,那么会更好。用户通常看不到“〜/ Library”以下内容的文件系统内容,因此不需要短名称。
当然,您也可以将保存的游戏放在〜/ Documents / MyCoolGame / savegames中,并告诉用户您将游戏保存在那里。
一个陷阱(也许):我不确定系统API是否正确扩展了“〜”。我想可能不行:用以“〜”开头的路径调用fopen很可能不会做正确的事情。用户目录位于类似“ / Users / max”的位置,因此如果用户名是“ max”,则在命令行中“〜”将扩展为“ / Users / max”。
我无法回答您的原始问题“ macOS没有Linux的目录是什么?”因为我目前没有Linux盒子,并且我认为这对您的用例没有帮助。
对于全局数据,还存在“ / Library”层次结构。但是普通用户无法访问此位置,因此您的游戏将需要寻求管理员权限,这将使一切变得更加复杂,并且这会使macOS用户感到用户不友好。 macOS的方法是拥有一个自包含的应用程序捆绑包,并将所有特定于用户的数据或临时数据放入用户主文件夹中的适当位置。
答案 1 :(得分:1)
要完成@Michael的(出色)回答,这是最新安装在最新稳定版本的MacOS System(10.14.2)上的主目录和根目录的列表
MacBook-Pro:~ max$ ls -al /
total 37
drwxr-xr-x 26 root wheel 832 Jan 6 19:00 .
drwxr-xr-x 26 root wheel 832 Jan 6 19:00 ..
-rw-rw-r-- 1 root admin 8196 Jan 13 07:11 .DS_Store
drwx------ 5 root admin 160 Jan 6 11:47 .Spotlight-V100
d-wx-wx-wt 2 root wheel 64 Jan 14 06:39 .Trashes
---------- 1 root admin 0 Aug 18 06:53 .file
drwx------ 11 root admin 352 Jan 14 06:39 .fseventsd
drwxr-xr-x 2 root wheel 64 Aug 18 06:53 .vol
drwxrwxr-x+ 39 root admin 1248 Nov 30 12:49 Applications
drwxr-xr-x+ 60 root wheel 1920 Nov 30 12:50 Library
drwxr-xr-x 2 root wheel 64 Aug 18 06:53 Network
drwxr-xr-x@ 5 root wheel 160 Nov 30 12:46 System
drwxr-xr-x 5 root admin 160 Jan 6 18:59 Users
drwxr-xr-x+ 4 root wheel 128 Jan 14 06:39 Volumes
drwxr-xr-x@ 37 root wheel 1184 Nov 30 12:55 bin
drwxrwxr-t 2 root admin 64 Aug 18 06:53 cores
dr-xr-xr-x 3 root wheel 4301 Jan 14 06:39 dev
lrwxr-xr-x@ 1 root wheel 11 Jan 6 18:49 etc -> private/etc
dr-xr-xr-x 2 root wheel 1 Jan 14 06:40 home
-rw-r--r-- 1 root wheel 313 Aug 18 10:03 installer.failurerequests
dr-xr-xr-x 2 root wheel 1 Jan 14 06:40 net
drwxr-xr-x 6 root wheel 192 Nov 30 12:50 private
drwxr-xr-x@ 64 root wheel 2048 Jan 6 18:49 sbin
lrwxr-xr-x@ 1 root wheel 11 Jan 6 18:49 tmp -> private/tmp
drwxr-xr-x@ 9 root wheel 288 Nov 30 12:38 usr
lrwxr-xr-x@ 1 root wheel 11 Jan 6 18:49 var -> private/var
和主目录:
MacBook-Pro:~ max$ ls -al ~
total 16
drwxr-xr-x+ 15 max staff 480 Jan 14 06:43 .
drwxr-xr-x 5 root admin 160 Jan 6 18:59 ..
-r-------- 1 max staff 7 Jan 6 18:59 .CFUserTextEncoding
drwx------ 2 max staff 64 Jan 14 06:40 .Trash
-rw------- 1 max staff 0 Jan 13 07:11 .bash_history
drwx------ 10 max staff 320 Jan 14 06:40 .bash_sessions
-rw------- 1 max staff 908 Jan 14 06:43 .viminfo
drwx------+ 3 max staff 96 Jan 6 18:59 Desktop
drwx------+ 3 max staff 96 Jan 6 18:59 Documents
drwx------+ 3 max staff 96 Jan 6 18:59 Downloads
drwx------@ 51 max staff 1632 Jan 13 07:11 Library
drwx------+ 3 max staff 96 Jan 6 18:59 Movies
drwx------+ 3 max staff 96 Jan 6 18:59 Music
drwx------+ 3 max staff 96 Jan 6 18:59 Pictures
drwxr-xr-x+ 4 max staff 128 Jan 6 18:59 Public