VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • python(os模块)

模块

os模块(重要)

os模块是python中这里文件和目录最常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。
  1. 创建文件夹

    ​ os.mkdir():创建一个新的文件夹(目录)

    image-20221020151126452.png

    ​ os.makedirs():创建多个目录(文件夹)

image-20221020152051052.png

  1. 删除目录(文件夹)

    ​ os.rmdir(r'd1')删除单个文件夹(目录)

image-20221020152750480.png

​ os.removedirs(r'd2\d3')可以删除多级目录,但是有内容的目录不会删除

image-20221020153726869.png

  1. 列举指定路径下内容名称

    ​ print(os.listdir())

image-20221020154819592.png

  1. 删除/重命名文件

    ​ os.rename(r'a.txt', r'aaa.txt')重命名

    image-20221020161146782.png

    ​ os.remove(r'aaa.txt')删除文件

image-20221020161501311.png

  1. 获取/切换当前工作目录

    ​ print(os.getcwd())

image-20221020161743525.png

​ os.chdir('..')

image-20221020162114775.png

  1. 动态获取项目根路径

    ​ print(os.path.abspath(__ file __))执行文件的绝对路径

image-20221020163800203.pngprint(os.path.dirname(__ file__))

image-20221020164037994.png

  1. 判断路径是否存在(文件、目录)

    ​ print(os.path.exists(r'01.py'))

image-20221020165039623.png

​ print(os.path.exists(r'D:\pythonATM_0325'))

image-20221020165911446.png

​ print(os.path.isfile(r'01.py'))

image-20221020170155804.png

​ print(os.path.isdir(r'01py'))

image-20221020170707664.png

  1. 路径拼接

    ​ s1 = r'D:\pythonATM_0325'

    ​ s2 = 'r01.py'

    ​ print(os.path.join(s1, s2))

    image-20221020173617622.png

  2. 获取文件大小(字节)

    ​ print(os.path.getsize(r'02.py'))

image-20221020181147453.png

sys模块

import sys
print(sys.path)	# 获取执行文件的sys.path
print(sys.getrecursionlimit())	# 获取python解释器默认最大递归深度
sys.setrecursionlimit(2000)	# 修改python解释器默认最大递归深度
print(sys.version)	# 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:47:24) [MSC v.1927 64 bit(AMD64)]
print(sys.platform)	# 平台信息 win32
res = sys.argv
if len(res) != 3:
    print('执行命令缺少了用户名或密码')
else:
    username = res[1]
    password = res[2]
    if suername == 'jason'and password == '123':
        print('jason您好 文件正常执行')
    else:
        print('您不是jason无权执行该文件')

json模块

dumps: 将对象转化为json字符串

loads: 将json字符串转化为对象

 
import json
 
# 前端传递的json字符串转化为Python中的字段
s = '{"user":"admin","password":123}'
s1 = json.loads(s)
print(s1,type(s1))  # 输出:{'user': 'admin', 'password': 123} <class 'dict'>
 
# 后端传递Python字典,转化为json字符串
d = {'user':'admin','password':123,'name':'蟒蛇'}
s3 = json.dumps(d,ensure_ascii=False)  # 使用ensure_ascii = False 防止中文转化为ascii码
print(s3 ,type(s3)) # 输出:{"user": "admin", "password": 123, "name": "蟒蛇"} <class 'str'>
s4 = json.dumps(d)  # 使用ensure_ascii = False 防止中文转化为ascii码
print(s4) # 中文转化为ASCII码:{"user": "admin", "password": 123, "name": "\u87d2\u86c7"}
 
 
# 前端JSON和python的字典有什么区别
d = {'isLogin':True, 'QQ':False,'tel':None}
j  = json.dumps(d)
print(j)
# 输出:{"isLogin": true, "QQ": false, "tel": null} ,可以看到Python的True,false,None,在Javascript中对应:true,false,null
 
 
# 列表也能进行json转化
l = [True,False,None,'泽塔']
j = json.dumps(l,ensure_ascii=False)
print(j)  # [true, false, null, "泽塔"]
 
 
# 文件操作的dump和load
d = {'节日':'建军节','年龄':18}
json.dump(d,open('202298.txt',mode='w',encoding='utf-8'),ensure_ascii=False)
 
s = json.load(open('202298.txt',mode='r',encoding='utf-8'))
print(s)  #  {'节日': '建军节', '年龄': 18}

img

img

imgimg

json模块实战

用户登录注册功能
import os
import json

# 注册功能
# 1.获取执行文件所在的目录路径
base_dir = os.path.dirname(__file__)	# D:/pythonProject03/day19
# 2.拼接出db目录的路径
db_dir = os.path.join(base_dir, 'db')	# D:/pythonProject03/day19/db
# 3.创建db目录
if not os.path.isdir(db_dir):
    os.mkdir(db_dir)
# 4.获取用户数据
username = input('username>>>:').strip()
password = input('password>>>:').strip()
# 4.1判断用户名是否已存在
print(os.listdir(db_dir))	# ['jason.json', 'kevin.json', 'tony.json']
# 5.构造用户字典
suer_dict = {
    'username': username,
    'password': password,
    'account' : 15000# 账户余额
    'shop_car': []	# 购物车
}
# 6.拼接存储用户数据的文件路径
user_file_path = os.path.join(db_dir, f'{suername}.json')	# D:/pythonproject03/day19/db/jason.json
# 7.写入文件数据
with open(suer_file_path,'w',encoding='utf8') as f:	 # json.dump(user_dict, f)
suername = input('username>>>:').strip()
# 1.拼接上述用户名组成的文件路径
target_user_file_path = os.path.join(db_dir, f'{username}.json')
if not os.path.isfile(target_user_file_path):
    print('你赶紧滚蛋 用户名都不对 搞什么飞机')
else:
    password = input('password>>>:').strip()
# 2.获取用户真实数据字典
	with
open(target_user_file_path,'r',encoding='utf8') as f:
    	real_user_dict = json.load(f)
        if password == real_user_dict.get('password'):
            print('登陆成功')
        else:
            print('密码错误')
出处:https://www.cnblogs.com/oiqwyig/p/16811046.html

相关教程