首页 > 编程语言 >python(os模块)

python(os模块)

时间:2022-10-20 19:56:42浏览次数:55  
标签:python json user 模块 print path password 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.png print(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('密码错误')

标签:python,json,user,模块,print,path,password,os
From: https://www.cnblogs.com/oiqwyig/p/16811046.html

相关文章

  • 【Python】【爬虫】爬取小说5000章,遇到的爬虫问题与解决思路
    爬虫问题分析回顾之前写了一个爬取小说网站的多线程爬虫,操作流程如下:先爬取小说介绍页,获取所有章节信息(章节名称,章节对应阅读链接),然后使用多线程的方式(pool=Pool(50)),......
  • Day19 Os.sys.json模块
    目录os模块(重要)1.创建目录(文件夹)2.删除目录(文件夹)3.列举指定路径下内容名称4.删除/重命名文件5.获取/切换当前工作目录6.动态获取项目根路径(重要)7.判断路径是否存......
  • 内置模块
    目录今日内容回顾今日内容详情os模块(重要)sys模块json模块json实战今日内容回顾os与sys模块json模块今日内容详情os模块(重要)os模块主要与代码运行所在的操作系统打......
  • python self.__dict__.update 批量更新属性的使用
    首先我们回顾下字典的update方法,以及查看对象属性__dict__的使用;然后再看对象.__dict__update的使用 一、字典的update方法1.描述dict.update()update()函数把字典di......
  • Python第七章实验报告
    一、实验题目Python第七章实例和实战作业二、实验目的和要求1.熟悉Pycharm的运行环境2.学习并掌握Python的面向对象程序设计三、主要仪器设备联想小新air15硬件:AMD......
  • aos动画库
    今天啊,做项目发现一个问题,那个网页的动态效果并不是js完成的,而是用了一个动画库,有点伤感,我没听说过该库。no!荣姐不是那麽轻易被困难打到的,于是荣姐与困难展开激烈厮杀!......
  • os,sys,json模块
    目录os,sys,json模块今日内容概要os模块(重要)sys模块json模块json模块实战os,sys,json模块今日内容概要os与sys模块os模块主要与操作系统打交道sys模块主要与python解释......
  • 【Python】第3章-15 统计一行文本的单词个数
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:......
  • CentOS 7上安装 Jenkins -- yum 方式
    CentOS7上安装Jenkins--yum方式安装Jenkins开源Devops工具Jenkins在官方博客宣布,从6月28日发布的Jenkins2.357和将于9月发布的LTS版本开始,Jenkins......
  • 【Python】第3章-14 字符串字母大小写转换
    本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不......