chr:数字转字母

在控制台进入python输入chr(109),会得到结果m。也可以在写代码的地方使用

ord:字母转数字

在控制台进入python输入ord(97),会得到结果a

生成随机字符串,chr数字转字母

list1=[]
for item in range(10):
    r=random.randrange(9,99)
    list1.append(chr(r))
print(''.join(list1))

os:用来处理路径

import time
import os
#os用来处理路径
#获取当前文件目录路径
print(os.getcwd())
print(os.path.dirname(__file__))
#查看目录下的所有文件
for item in os.listdir(os.getcwd()):
print(item)
#获取当前操作系统
print(os.name)
#返回绝对路径
print(os.path.abspath("/F/tools"))
#针对文件目录进行分割
print(os.path.split("/F/tools"))
#目录是否存在
print(os.path.exists("/F/tools"))
# # #判断是否是文件
print(os.path.isfile("/F/tools"))
# 文件的存取时间
print(os.path.getatime("F:/tools"))
# # #文件的修改时间
print(os.path.getmtime("F:/tools"))
#把时间戳转为时间
print(time.localtime(os.path.getmtime("F:/tools")).tm_year)
#获取当前文件目录
print(os.getcwd())
print(os.path.dirname(__file__))
#获取路径的上一个路径
print(os.path.dirname(os.getcwd()))#难用
print(os.path.dirname(os.path.dirname(__file__)))
#路径拼接
base_dir=os.path.dirname(os.path.dirname(__file__))
print(os.path.join(base_dir,'data','aaaz'))
# # #文件内容读取
with open(os.path.join(base_dir,'data','aaaz'),'r') as f:
print(f.read())

#查看响应延迟
os.system('ping www.baidu.com')
#创建文件名为aaa,权限全给
os.mkdir('aaaz',mode=777)

sys提供对解释器使⽤或维护的⼀些变量以及与解释器强烈交互的函数的访问

出现ModuleNotFoundError: No module named,找不到路径的情况,将文件的上一级包添加

import  sys
import os
# sys
# 获取python解释器的版本
print('版本',sys.version)
# # 获取操作系统平台名称
print('系统操作名称\n',sys.platform)
# # 查看路径
print('返回模块的搜索路径\n')
for item in sys.path:
  print(item)

# 找不到模块路径的时候sys处理
base_dir=os.path.dirname(os.path.dirname(__file__))
sys.path.append(os.path.join(base_dir,'aaa'))
from login import *
print(name)
func()

exception处理异常错误

# try/except Exception
# 处理异常,当try里边的代码执行正确的时候不会执行到except,出现错误会捕获异常Exception处理,输出异常
def div(a,b):
  try:
      print(a/b)
  except Exception as e:
      print(e.args[0])
div(1,0)

def div(a,b):
  try:
      print(a/b)
  except IndexError as e:
      print('索引异常')
  except Exception as e:
      print(e.args[0])
div(1,'1')


def div(a,b):
  try:
      print(a/b)
  except Exception as e:
      print(e.args[0])
  else:
      print('try执行正常,会执行else代码')
  finally:
      print('不管是否执行正确还是异常,都会被执行')
div(1,0)
 

instance判断类型

a=1
a1=[1,2,3]
if isinstance(a,list):
  print('a是int类型')
else:
  print('a不是int类型')

if isinstance(a1,list):
  print('a1是列表')
else:
  print('a1不是列表')
 

 

综合练习:注册登录

import json
# 分离重复的代码
def out():
  username = input('请输入账户:\n')
  password = input('请输入密码:\n')
  return username,password
#注册
def register():
  username,password=out()
  temp = username + '|' +password
  json.dump(temp, open('user.md', 'w'))
#
# print(register())2

#登录
def login():
  username, password = out()
  lists=str(json.load(open('user.md','r'))).split('|')
  if username==lists[0] and password==lists[1]:
      return True
  else:
      return False
# # print(login())

#个人主页
def profile():
  lists=str(json.load(open('user.md','r'))).split('|')
  if login():
      print('{nick}登录成功'.format(nick=lists[0]))
  else:
      print('账户或密码错误')
# profile()

def main():
  while True:
      try:
          f=int(input('1,注册 2,个人主页 3,退出\n'))
          if f==1:
              register()
          elif f==2:
              profile()
          elif f==3:
              break
      except:
          continue
main()

# 主函数,程序执行的入口
if __name__ == '__main__':
  main()