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())
相关推荐
刘发财19 分钟前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶3 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
皮皮林5514 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河4 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
Kagol5 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路6 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide7 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
桦说编程7 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读