【python基础】第28回 购物车项目


目录

作业

1. 编写一个统计指定文件类型的脚本工具

输入指定类型的文件后缀,eg:.txt,并给出一个具体路径 之后统计该类型文件在该文件下的个数。ps:简单实现即可 无需优化

# os模块是跟当前程序所在的操作系统打交道
import os
# 1. 获取指定路径
target_pat = input('请输入目录路劲>>>:').strip()
# 2. 获取目标后缀
path_suffix = input('请输入目标文件后缀>>>:').strip()
# 获取指定路劲下所有的文件名称 有os模块listdir方法
name_path = os.listdir(target_pat)
# 打印获取的目录,结果是列表格式
print(name_path)
# 循环获取每一个文件名,然后判断是否以输入的后缀结尾,用到字符串内置方法endswith以什么结尾,startswith以什么开头
# 定义一个计数器,初始为0
count = 0
for file_name in name_path:
    if file_name.endswith(path_suffix):  # 判断后缀
        count += 1
print(f'目录{target_pat}下后缀名为{path_suffix}的文件数目有:{count}个')

image

2. 针对json实操,尝试单文件多用户(一行一个)是否可实现

# json 序列化模块 数据是字符串,引号为双引号
import json
# 定义一个字典
a = {'name': 'jason1', 'pwd': 123}
# a 写入到userinfo.json文件
with open(r'userinfo.json', 'a', encoding='utf8') as f:
    # dump将其他数据以json格式字符串写入文件
    json.dump(a, f)  # 该方法无法实现换行写入

image

# json 序列化模块 数据是字符串,引号为双引号
import json
# 定义一个字典
a = {'name': 'jason2', 'pwd': 123}
# a 写入到userinfo.json文件
with open(r'userinfo.json', 'a', encoding='utf8') as f:
    # dump将其他数据以json格式字符串写入文件
    # json.dump(a, f)  # 该方法无法实现换行写入
    # dumps 将其他数据类型转换成json格式字符串
    res = json.dumps(a)
    f.write(res)
    f.write('/n')

image

# 2.针对json实操 尝试单文件多用户(一行一个)是否可实现 哪个更方便
# json 序列化模块 数据是字符串,引号为双引号
import json
# 定义一个字典
a = {'name': 'jason2', 'pwd': 123}
# a 写入到userinfo.json文件
with open(r'userinfo.json', 'a', encoding='utf8') as f:
    # dump将其他数据以json格式字符串写入文件
    # json.dump(a, f)  # 该方法无法实现换行写入
    # dumps 将其他数据类型转换成json格式字符串
    res = json.dumps(a)
    f.write(res)
    f.write('/n')
# 读取文件userinfo.json
with open(r'userinfo.json','r',encoding='utf8') as f:
    # 循环一行一行打印出
    for line in f:
        new_line = line.strip('/n')
        # losds 将json格式字符串转化成对应的数据类型
        res = json.loads(new_line)
        print(res, type(res))

image

3. 按要求编写程序

有一个目录文件下面有一堆文本文件
eg:
db目录
J老师视频合集
R老师视频合集
C老师视频合集
B老师视频合集

  1. 文件内容自定义即可,要求循环打印出db目录下所有的文件名称让用户选择
  2. 用户选择哪个文件就自动打开该文件并展示内容
  3. 涉及到文件路径全部使用代码自动生成 不准直接拷贝当前计算机固定路径
# os模块是跟当前程序所在的操作系统打交道
import os
# 1. 获取当前执行文件所在的路径
path_dir = os.path.dirname(__file__)
print(path_dir)  # G:/pythonProject/day25
# 2. 拼接存储多个文本文件目录的路径
db_dir = os.path.join(path_dir,'db')
# 3. 获取路径下所有文件名称
flie_name = os.listdir(db_dir)
# print(flie_name)
while True:
    # 4. 循环打印文件名称,并采用枚举的形式方便用户选择
    for i, j in enumerate(flie_name,start=1):
        print(i, j )
    # 5. 获取用户想要打开的文件编号
    file_num = input('请输入你想要打开的编号>>:').strip()
    # 6. 判断编号是否是纯数字
    if not file_num.isdigit():
        print('文件编号只能是数字')
        continue
    file_num = int(file_num)
    # 7. 判断数字是否在合理范围内
    if file_num not in range(1, len(flie_name)+ 1):
        print('文件编号超出了范围')
        continue
    # 8. 获取目标文件名称
    file_name_list = flie_name[file_num - 1]
    # 9. 拼接文件的绝对路径
    file_path = os.path.join(db_dir, file_name_list)
    # 10.文件操作简单的读取展示
    with open(file_path, 'r',encoding='utf8') as f:
        print(f.read())

image

4. 购物车

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/275261.html

(0)
上一篇 2022年7月18日
下一篇 2022年7月18日

相关推荐

发表回复

登录后才能评论