Python第七周作业

Python第七周作业

文章目录

1.使用open以只读模式打开文件data.txt,并逐行打印内容

2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在)

3.递归遍历目录data,输出所有.csv文件的路径

1.使用open以只读模式打开文件data.txt,并逐行打印内容;

python 复制代码
import os
data_file = '/Users/hooper/Downloads/Study/马哥大模型1期-2025/作业/Python-第07周/data/data.txt'
def read_file(file_path):
    if os.path.exists(file_path):
        with open(file_path, 'r', encoding='utf-8') as file:
            for line in file:
                print(line, end='')
read_file(data_file)

2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在);

python 复制代码
from pathlib import Path
import os
# 获取当前脚本的绝对路径
current_path = Path(__file__).resolve().parent
# print(f"current_path: {current_path}")
# 方法一:
# 获取创建目录的路径并创建
logs_path = current_path/'logs'
logs_path.mkdir(exist_ok=True)
print(f"logs_path: {logs_path}")

# 方法二:
# 拼接创建目录的路径并创建
logs_path = os.path.join(current_path, 'logs')
if not os.path.exists(logs_path):
    os.makedirs(logs_path)
    print(f"{logs_path} creation complete.")
else:
    print(f"{logs_path} already exists.")

3.递归遍历目录data,输出所有.csv文件的路径;

python 复制代码
import os
from pathlib import Path
# 方法一:
find_path = '/Users/hooper/Downloads/Study/马哥大模型1期-2025/作业/Python-第07周/data'
if not os.path.exists(find_path):
    print(f"{find_path} is not exists")
else:
    for dirpath, dirnames, filenames in os.walk(find_path):
        for filename in filenames:
            if filename.endswith('.csv'):
                full_path = os.path.join(dirpath, filename)
                print(full_path)

# 方法二:
current_path = Path(__file__).resolve().parent
find_path = current_path/'data'
if not find_path.exists():
    print(f"{find_path} is not exists")
else:
    for csv_file in find_path.rglob('*.csv'):
        print(csv_file.resolve())
相关推荐
敲敲了个代码2 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_3 小时前
列表渲染(v-for)
前端·javascript·vue.js
专注VB编程开发20年3 小时前
C#全面超越JAVA,主要还是跨平台用的人少
java·c#·.net·跨平台
南_山无梅落3 小时前
9.Python3集合(set)增删改查和推导式
java·开发语言
JustHappy3 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌3 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight3 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied3 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
开发者小天3 小时前
react中useEffect的用法,以及订阅模式的原理
前端·react.js·前端框架