三级菜单_使用os模块

#!/usr/bin/env python
# -*- coding:utf-8 -*-  
# by wk

import os

def list_cities(city_list):
    while True:
        t = []
        for k, v in enumerate(city_list):
            print(k, v['city'])
            t.append(str(k))       #判断列表有多少值
        # print(t)
        city_id = input('请选择城市:')
        if city_id in t:
            return city_id
        else:
            print('请重新输入')

def list_district(city_id):
    while True:
        t = []
        for k, v in enumerate(city_list[city_id]['district']):
            print(k, v['dist'])
            t.append(str(k))         #判断列表有多少值
        district_id = input('请选择区域(b返回上一层):')
        if district_id in t:
            return district_id
        elif district_id == 'b':
            return 'back'
        else:
            print('请重新输入')

def list_area(city_id,district_id):
    while True:
        t = []
        for k, v in enumerate(city_list[city_id]['district'][district_id]['area']):
            print(k, v)
            t.append(str(k))        #判断列表有多少值
        area_id = input('请选择地点(b返回上一层):')
        if area_id in t:
            return area_id
        elif area_id == 'b':
            return 'back'
        else:
            print('请重新输入')

def my_choose(city_id,district_id,area_id):
    return city_list[city_id]['district'][district_id]['area'][area_id]

if __name__ == "__main__":
    city_list = [
        {'city': '北京', 'district':
            [{'dist':'海淀','area':['海1', '海2', '海3']},
             {'dist': '东城', 'area': ['东1', '东2', '东3']},
             {'dist':'西城','area':['西1', '西2', '西3']},
             {'dist': '朝阳', 'area': ['朝1', '朝2', '朝3']}]
         },
        {'city': '上海', 'district':
            [{'dist': '黄浦', 'area': ['黄1', '黄2', '黄3']},
             {'dist': '徐汇', 'area': ['徐1', '徐2', '徐3']},
             {'dist': '长宁', 'area': ['长1', '长2', '长3']},
             {'dist': '天河', 'area': ['天1', '天2', '天3']}]
         },
        {'city': '广州', 'district':
            [{'dist': '荔湾', 'area': ['荔1', '荔2', '荔3']},
             {'dist': '越秀', 'area': ['越1', '越2', '越3']},
             {'dist': '海珠', 'area': ['海1', '海2', '海3']},
             {'dist': '天河', 'area': ['天1', '天2', '天3']}]
         },
    ]              #创建一张城市列表
    while True:
        city_id = list_cities(city_list)      #列出城市
        while True:
            district_id = list_district(int(city_id))       #列出选中城市下的区
            if district_id == 'back':
                break               #返回上一层循环
            else:
                while True:
                    area_id = list_area(int(city_id),int(district_id))
                    if area_id == 'back':
                        break       #返回上一层循环
                    else:
                        end_choose = my_choose(int(city_id), int(district_id), int(area_id))
                        print('最终选择:',end_choose)
                        os._exit(1)

 

转载于:https://www.cnblogs.com/godspeed034/p/7245586.html

<think>嗯,用户想在macOS中完全关闭WiFi模块的电源,而不仅仅是断开连接。我需要找到系统级的方法,可能涉及终端命令或者系统配置。首先,常见的做法是通过菜单栏关闭WiFi,但用户可能知道这个只是断开网络,并没有真正禁用硬件。 然后,我记得有终端命令可以控制网络服务。比如使用`networksetup`命令,这个工具可以管理网络设置。可能需要先列出所有网络服务,找到WiFi对应的标识符,通常是`en0`或`en1`。然后使用`networksetup -setnetworkserviceenabled`加上服务名和状态来禁用。比如`sudo networksetup -setnetworkserviceenabled Wi-Fi off`。这样应该能彻底关闭WiFi模块的电源,而不仅仅是断开连接。 另外,用户可能需要重启后设置仍然有效,但使用这个命令的话,可能只是临时生效。如果用户需要永久禁用,可能需要其他方法,比如创建启动脚本或者修改系统配置。不过修改系统文件有风险,容易导致不稳定,所以建议谨慎操作。 还有一种方法是通过硬件开关,但MacBook通常没有物理的WiFi开关,所以可能需要软件方法。另外,可能涉及系统管理控制器(SMC)的重置,但SMC更多是电源管理相关,不确定是否能直接关闭WiFi电源。引用中提到重置SMC可以解决一些网络问题,但用户的需求是禁用模块,可能不适用。 还有用户提到第三方工具,比如WiFi Explorer,但那是用来诊断网络问题的,不是用来关闭WiFi模块的。不过可能有其他第三方工具可以实现更底层的控制,但需要用户安装软件,可能存在安全风险。 另外,系统偏好设置里的网络设置可以删除WiFi服务,但这样可能需要重新添加才能启用,不太方便。或者禁用服务,但和终端命令的效果可能一样。 需要提醒用户,禁用WiFi模块后,所有依赖WiFi的功能都无法使用,直到重新启用。同时,使用sudo命令需要管理员权限,操作时需谨慎,避免误操作影响其他网络服务。 总结下来,最直接的方法是使用终端命令`networksetup`来禁用WiFi服务,这样可以关闭电源。另外,创建脚本或使用launchd可能在重启后保持设置,但需要进一步配置。需要确保用户了解这些步骤的风险,并备份重要数据。</think>在macOS系统中完全关闭WiFi模块电源可通过以下两种方法实现: ### 方法一:通过终端命令禁用Wi-Fi服务 1. 打开终端(应用程序 > 实用工具) 2. 输入命令查看当前网络服务列表: ```bash networksetup -listallhardwareports ``` 3. 找到对应Wi-Fi的硬件接口标识符(通常为`en0`或`en1`) 4. 执行禁用命令(需管理员权限): ```bash sudo networksetup -setnetworkserviceenabled Wi-Fi off ``` ### 方法二:通过系统配置禁用 1. 前往`系统偏好设置 > 网络` 2. 在左侧服务列表中选择`Wi-Fi` 3. 点击齿轮图标选择`停用服务` 4. 配合重置SMC(系统管理控制器)可增强效果: - Intel芯片Mac:关机后按`左Shift+Control+Option+电源键`10秒[^2] - Apple Silicon芯片Mac:无需重置SMC,直接重启即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值