【问题标题】:Change Install Directory If Running Catalina But Not on Mojave如果运行 Catalina 但不在 Mojave 上,则更改安装目录
【发布时间】:2020-02-27 14:04:10
【问题描述】:

需要在我们公司环境中的 Mac 上运行 appblocker 软件。目前,代码/appblocker 可以在 Mojave 上运行,但不能在 Catalina 上运行,因为它会产生双硬盘驱动器问题(下面的链接)。

希望这很容易,但我无法让它工作。我需要一段 python 代码,如果用户在 MacOS Catalina 上,它会更改目录并运行 appblocker,如果在 Mojave 上,只需正常运行 appblocker。我已经链接了我在下面使用的所有资源,包括 Catalina 的双硬盘驱动器,以及我从哪里获得了 appblocker(来自我们的供应商的建议。)

我使用的代码可以在AppBlocker.py下面的github链接下找到

https://github.com/erikberglund/AppBlocker

https://www.launchd.info/

https://www.macworld.com/article/3451363/why-you-might-see-a-new-data-disk-in-catalina.html

【问题讨论】:

    标签: python macos if-statement macos-catalina readdirectorychangesw


    【解决方案1】:

    你必须在你的系统上运行它来仔细检查版本号,但是这样的东西应该可以工作:

    import platform, os
    
    if int(platform.release()[:2])==19:
        #we are on Catalina
        os.chdir("NEW FOLDER")
    
    #run rest of code....
    

    【讨论】:

    • 非常感谢您的回复!只是为了澄清,在#run其余代码下......我是否将整个appblocker粘贴在那里,然后再次在#run normal...
    • 刚刚编辑的答案。意识到无论哪种方式您都将运行 appblocker 代码,唯一的区别是您是否更改了 Catalina 的文件夹。如果我的回答有帮助,请随时点赞并将其标记为答案,以便有类似问题的任何人都可以找到解决方案。
    • 肯定会支持。间距越来越大,但我只需要在 appblocker 代码之前澄清一下:import platform, os if int(platform.release()[:2])==19: #we are on Catalina os.chdir(" /System/Volumes/Data") #在此处插入 appblocker 的其余代码
    • 是的,应该可以。如果当前工作目录(最初启动脚本时)很重要,那么您需要在 os.chdir 部分之前将其保存为变量,使用 old_directory=os.getcwd() 然后在运行 appblocker 代码后返回原始文件夹使用os.chdir(old_directory)
    • 我们的安装后脚本是否需要更改?如下:#! /bin/bash /bin/chmod +x /usr/local/bin/AppBlocker.py
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    相关资源
    最近更新 更多