基础python教程 -切换hosts文件代码

win7以上需要使用管理员权限操作。

代码如下:

# -*- coding: utf-8 -*-import osimport globimport shutil

def format_file_list(files): all_files_str = “” for i in range(len(files)): all_files_str += str(i)+”:”+files[i]+”\n” return all_files_strhosts_path = “c:\\windows\\system32\\drivers\\etc”files = os.listdir(hosts_path)os.chdir(hosts_path)

if os.getcwd() != hosts_path: print(“switch dir to system32 error,check permission!\npwd:”+os.getcwd()) exit()hosts_files = glob.glob(“host*”)choosed_file_idx = int(input(“choose hosts file index:\n”+format_file_list(hosts_files)))files_num = len(hosts_files)

if (choosed_file_idx < 0 or choosed_file_idx >= files_num) : print(“please choose a file in the lists!”) exit()print(“choosed idx:{0},file:{1}.”.format(choosed_file_idx,hosts_files[choosed_file_idx]))shutil.copy(“hosts”,”hosts.bak”)shutil.copy(hosts_files[choosed_file_idx],”hosts”)print(“copy ok,then flush dns…”)os.system(“ipconfig /flushdns”)