win7 以降では、管理制限オペレーションを使用する必要があります。
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("ディレクトリを System32 に切り替えるエラー、権限を確認してください!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 print("リストからファイルを選択してください!")
exit()
print("選択された 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 flash dns...")
os.system("ipconfig /flushdns")