python切换hosts文件代码示例

时间:2021-05-22

win7以上需要使用管理员权限操作。
复制代码 代码如下:
# -*- coding: utf-8 -*-
import os
import glob
import 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_str

hosts_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")

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章