首页 > 其他分享 >os,sys,json模块

os,sys,json模块

时间:2022-10-20 19:23:55浏览次数:40  
标签:sys json 模块 print path os

目录

os,sys,json模块

今日内容概要

  • os与sys模块

    os模块主要与操作系统打交道
    sys模块主要与python解释器打交道
    
  • json模块

今日内容详细

os模块(重要)

os模块主要与代码运行所在的操作系统打交道
import os
# 1.创建目录(文件夹)
# os.mkdir(r'd1')  # 相对路径 在执行文件所在的路径下创建目录 可以创建单级目录
# os.mkdir(r'd2\d22\d222')  # 不可以创建多级目录
# os.makedirs(r'd2\d22\d222')  # 可以创建多级目录
# os.makedirs(r'd3')  # 也可以创建多级目录
# 2.删除目录(文件夹)
# os.rmdir(r'd1')  # 可以删除单级目录  只能删除空的单级目录
# os.rmdir(r'd2\d22\d222')  # 不可以一次性删除多级目录
# os.removedirs(r'd2\d22')  # 可以删除多级目录  只能删除空的多级目录
# 3.列举指定路径下内容名称
# print(os.listdir())  # ['.idea', 'os模块.py'] 列举当前目录下的内容名称
# print(os.listdir(r'D:\\'))  # 列举绝对路径下的内容名称
# 4.删除/重命名文件
# os.rename(r'a.txt', r'aaa.txt')  # 重命名
# os.remove(r'aaa.txt')  # 删除
# 5.获取/切换当前工作目录
# print(os.getcwd())  # F:\APP\pycharm\pythonProject\day19os-sys-json模块
# os.chdir('..')  # 切换到上一级目录
# print(os.getcwd())  # F:\APP\pycharm\pythonProject
# os.mkdir(r'hei')  # 在返回上一级的基础上创建一个单级目录
# 6.动态获取项目根路径(重要)
# print(os.path.abspath(__file__))  # 获取执行文件所在的绝对路径 F:\APP\pycharm\pythonProject\day19os-sys-json模块\os模块.py
# print(os.path.dirname(__file__))  # 获取执行文件所在的目录路径 F:/APP/pycharm/pythonProject/day19os-sys-json模块
# 7.判断路径是否存在(文件,目录)
# print(os.path.exists(r'os模块.py'))  # 判断文件路径是否存在 True
# print(os.path.exists(r'F:\APP\pycharm\pythonProject\day19os-sys-json模块'))  # 判断目录是否存在 True
# print(os.path.isfile(r'os模块.py'))  # 判断路径是否是文件 True
# print(os.path.isfile(r'F:\APP\pycharm\pythonProject\day19os-sys-json模块'))  # 判断路径是否是文件 False
# print(os.path.isdir(r'os模块.py'))  # 判断路径是否是目录 False
# print(os.path.isdir(r'F:\APP\pycharm\pythonProject\day19os-sys-json模块'))  # 判断路径是否是目录 True
# 8.路径拼接(重要)
s1 = r'F:\APP\pycharm\pythonProject\day19os-sys-json模块'
s2 = r'os模块.py'
print(f'{s1}\{s2}')  # 最好不要用 F:\APP\pycharm\pythonProject\day19os-sys-json模块\os模块.py
"""
涉及到路径拼接一定不要自己做 因为不同的操作系统路径分隔符不一样
"""
print(os.path.join(s1, s2)) # 用这个 兼容性高
# 9.获取文件大小(字节)
print(os.path.getsize(r'os模块.py'))  # 2595 字节大小


sys模块

import sys
# print(sys.path)  # 获取执行文件的sys.path
print(sys.getrecursionlimit())  # 获取python解释器默认最大递归深度
sys.setrecursionlimit(2000)  # 修改python解释器默认最大递归深度
print(sys.version)  # 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
print(sys.platform)  # 平台信息 win32(了解即可)
res = sys.argv
if len(res) != 3:
    print('执行命令缺少了用户名或密码')
else:
    username = res[1]
    password = res[2]
    if username == 'jason' and password == '123':
        print('jason您好 文件正常执行')
    else:
        print('您不是jason 无权执行该文件')


json模块

json模块也称为序列号模块 序列化可以打破语言限制实现不同编程语言之间数据交互

json格式数据的作用

json格式数据的形式
	字符串类型并且引号都是双引号
import json

d1 = {'name': 'jason', 'pwd': 123}
# print(d1, type(d1))
# res = json.dumps(d1)
# print(res, type(res))

with open('a.txt', 'w', encoding='utf8') as f:
    # json_str = json.dumps(d1)
    # f.write(json_str)
    # 等价于
    json.dump(d1, f)

with open('a.txt', 'r', encoding='utf8') as f1:
#     json_str = f1.read()
#     json_dict = json.loads(json_str)
#     print(json_dict, type(json_dict))
    res = json.load(f1)
    print(res, type(res))
json相关操作
'''
针对数据
json.dumps()
json.loads()
针对文件
json.dump()
json.load()

json模块实战

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

# 注册功能
# 1.获取执行文件所在的目录路径
base_dir = os.path.dirname(__file__)  # F:/APP/pycharm/pythonProject/day19os-sys-json模块
# 2.拼接出db目录
db_dir = os.path.join(base_dir, 'db')
# 3.创建db目录
if not os.path.isdir(db_dir):
    os.mkdir(db_dir)
# 4.获取用户数据
while True:
    username = input('请输入注册用户名(q\Q退出):').strip()
    if username.upper() == 'Q':
        break
    password = input('请输入密码:').strip()
    # 4.1判断用户名是否已经存在
    # 5.构造用户字典
    user_dict = {
        'username': username,
        'password': password,
        'account': 999999,
        'shop_car': []  # 购物车
    }
    # 6.拼接出存储用户数据的文件路径,此路径在db下
    user_file = os.path.join(db_dir, f'{username}.json')
    # 7.写入文件数据
    with open(user_file, 'w', encoding='utf8') as f1:
        json.dump(user_dict, f1)
# 登录
username1 = input('请输入登录用户名:').strip()
# 1.拼接上述用户名组成的文件路径
target_user_file = os.path.join(db_dir, f'{username1}.json')
# 2.判断拼接的用户名是否存在文件夹内
if not os.path.isfile(target_user_file):
    print('用户名都不对 赶紧滚蛋')
else:
    password1 = input('请输入密码:').strip()
    # 3.获取用户真实数据字典
    with open(target_user_file , 'r', encoding='utf8') as f2:
        real_user_dict = json.load(f2)
    if password1 == real_user_dict.get('password'):
        print('登录成功')
    else:
        print('密码错误')


标签:sys,json,模块,print,path,os
From: https://www.cnblogs.com/zpf1107/p/16810960.html

相关文章

  • CentOS 7上安装 Jenkins -- yum 方式
    CentOS7上安装Jenkins--yum方式安装Jenkins开源Devops工具Jenkins在官方博客宣布,从6月28日发布的Jenkins2.357和将于9月发布的LTS版本开始,Jenkins......
  • python内置模块之os sys 与json
    os模块os模块主要与代码运行所在的操作系统打交道importos1,创建目录(文件夹)os.mkdir(r'd1')#相对路径在执行文件所在的路径下创建目录可以创建单级目录os.mk......
  • Redisson 大bug处理: Command xxx succesfully sent, but channel xxx has been close
    棘手的bug,无从下手使用redisson的过程中, 我们的应用程序突然报错: org.redisson.client.RedisConnectionClosedException:Command(EXISTS),params:[paypal_fee_i......
  • iOS开发- 打包ipa,让别人设备安装你的App
    一般在接外包的时候,通常第三方需要安装你的app进行测试(这时候你的app肯定是还没传到appstore之前)。这种情况下,如果是企业账号就好办了,随便安装..但是个人开发者账......
  • iOS开发- 打包ipa,让别人设备安装你的App
    一般在接外包的时候,通常第三方需要安装你的app进行测试(这时候你的app肯定是还没传到appstore之前)。这种情况下,如果是企业账号就好办了,随便安装..但是个人开发者账......
  • adobe安装提示错误“Error:SyntaxError:JSON Parse error:Unexpected EOF”的解决方法
    mac电脑安装Adobe时,会提示错误“Error:SyntaxError:JSONParseerror:UnexpectedEOF”,这是怎么回事儿的,不管您是安装AI、PS、PR还是LR,如果也遇到相同的问题,可以参考一下方......
  • CentOS构建FTP服务,基于虚拟用户访问
    CentOS构建FTP服务,基于虚拟用户访问CentOS7.5安装vsftp服务Server_IP:192.168.1.10基础安装#yumsearchall--showduplicatesvsftpd#yuminstallvsftpd-3.0.2......
  • os,sys,json模块
    目录os模块(重要)sys模块json模块json模块实战os模块(重要)os模块主要与代码运行所在的操作系统打交道importos1.创建目录(文件夹)ps:加上r是解决对文件路径并且撬棍跟一......
  • 【THM】-Post-Exploitation Basics(后渗透基础)-学习
    观前提示本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/postexploit介绍本文主要涉及关于后渗透的基础知识,主要内容有:使用powerview和Bloodhound进行后......
  • CentOS 8 添加SSH远程登录端口并禁用22端口
    本次新加端口为:502020X01备注:本段操作是在防火墙开启的状态下进行一:修改SSH配置文件,目录为:vim/etc/ssh/sshd_config:1.按i进入编辑状态,按上下键找到“#Port22”这......