python 目录和文件基本操作

目录操作

获取当前目录:
import os
dir_path = os.getcwd()
print("当前目录:", dir_path)

当前目录: D:\work\pycharm\object

创建目录:
import os

dir_path = os.getcwd()
print("当前目录:", dir_path)

new_dir = os.path.join(dir_path, "test_dir")
if not os.path.exists(new_dir):
    os.makedirs(new_dir)
    print(f"目录 '{new_dir}' 创建成功")
else:
    print(f"目录 '{new_dir}' 已经存在,跳过创建")

目录 'D:\work\pycharm\object\test_dir' 已经存在,跳过创建

文件操作

创建文件:
import os
dir_path = os.getcwd()
print("当前目录:", dir_path)

new_dir = os.path.join(dir_path, "test_dir")
new_file_path = os.path.join(new_dir, "test.txt")
print(new_file_path)
with open(new_file_path, 'w') as f:
    f.write("hello txt")
    f.close()

D:\work\pycharm\object\test_dir\test.txt

批量创建:
import os
import datetime

dir_path = os.getcwd()
print("当前目录:", dir_path)

new_dir = os.path.join(dir_path, "test_dir")

current_year_month = datetime.datetime.now().strftime("%Y-%m")
print("当前年月是:", current_year_month)

""" 当前年月是: 2024-03 """



for i in range(1, 10):
    new_datetime = current_year_month + '-' + str(i)
    new_file_path = os.path.join(new_dir, f"test{new_datetime}.txt")
    with open(new_file_path, 'w') as f:
        f.write("hello")
        f.close()

批量读取:
print(new_dir)
file_path = os.listdir(new_dir)
print(file_path)
for file_name in file_path:
    # 只处理文件结尾是txt的
    if file_name.endswith(".txt"):
        file_path = os.path.join(new_dir, file_name)
        with open(file_path, 'r') as f:
            f_content = f.read()
            print(f"{file_name}的内容是{f_content}")

打开文件:

如果报错编码问题的话,就在open里面加上  encoding='utf-8'

file_path = '/opt/pytest/file/信息笔记.txt'



#打开文件,只读模式

with open(file_path,'r') as file:

#读取文件内容

        file_content = file.read()

        print(file_content)
向文件追加内容:
with open(new_file_path, 'a') as f:
    f.write("追加数据:hello python" + "\n")
with open(new_file_path, 'r') as f:
    f_content = f.read()
    print(f_content)

excel操作

读取文件
# 读取excel表格内容
import pandas as pd
excel_file_path = r'D:\桌面\运维分工表.xlsx'
# 读取 Excel 文件
df = pd.read_excel(excel_file_path, sheet_name='运维分工')

# print(df.head())
print(df)
写入excel文件
# 将数据写入excel
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active

sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['A2'] = '张三'
sheet['B2'] = 25
sheet['A3'] = '李四'
sheet['B3'] = 30

# 保存工作簿到文件
wb.save('人员信息描述.xlsx')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/461641.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法刷题 | 栈】3.16(有效的括号、删除字符串中的所有相邻重复项、逆波兰表达式求值)

文章目录 1.有效的括号1.1题目1.2解法:栈 2.删除字符串中的所有相邻重复项2.1题目2.2解法:栈 3.逆波兰表达式求值3.1题目3.2解法:栈 1.有效的括号 1.1题目 给定一个只包括 (,),{,},[&#xff…

Midjourney绘图欣赏系列(十二)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…

element ui 中文离线文档(百度云盘下载)

一般内网开发上不了网,用离线版本比较方便,下载地址: https://download.csdn.net/download/li836779537/88355878?spm1001.2014.3001.5503 下载后里面有个 index.hrml 双击打开就可以用 效果如下:

ADC架构III:Σ-Δ型ADC基础

简介 Σ-Δ型ADC是现代语音频带、音频和高分辨率精密工业测量应用所青睐的转换器。高度数 字架构非常适合现代细线CMOS工艺,因而允许轻松添加数字功能,而又不会显著增加成 本。随着此转换器架构的广泛使用,了解其基本原理显得非常重要。 历…

河南大学大数据平台技术实验报告二

大数据平台技术课程实验报告 实验二:HDFS操作实践 姓名:杨馥瑞 学号:2212080042 专业:数据科学与大数据技术 年级:2022级 主讲教师:林英豪 实验时间:2024年3月15日3点 至 2024年3月15日4点40 …

C#,入门教程(27)——应用程序(Application)的基础知识

上一篇: C#,入门教程(26)——数据的基本概念与使用方法https://blog.csdn.net/beijinghorn/article/details/124952589 一、什么是应用程序 Application? 应用程序是编程的结果。一般把代码经过编译(等)过程,最终形成的可执行 或 可再用 的文件称为应用程序。可执行文…

数据结构之顺序表(包学包会版)

目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 3.总结 halo,又和大家见面了,今天要给大家分享的是顺序表的知识,跟着我的脚步,包学包会哦~ 规矩不乱,先赞后看! ps:(孙权…

Android的三种动画详解(帧动画,View动画,属性动画)

Android的三种动画详解(帧动画、View动画、属性动画)_android动画效果大全-CSDN博客 1、帧动画 缺点是:占用内存较高,播放的是一帧一帧的图片,很少使用。 顺序播放预先定义的图片,类似于播放视频。 步骤…

MySQL语法分类 DDL

DDL(操作数据库、表) 数据库操作(CRUD) C(Create):创建 //指定字符集创建 create database db_1 character set utf8;//避免重复创建数据库报错可以用一下命令 create database if not exists db_1 character set utf8;R(Retrieve):查询 //查询所有数据库的名称 show datab…

基于ElasticSearch存储海量AIS数据:时空立方体索引篇

文章目录 引言I 时间维切分II 空间范围切分引言 索引结构制约着查询请求的类型和处理方式,索引整体架构制约着查询请求的处理效率。随着时间推移,AIS数据在空间分布上具备局部聚集性,如 果简单地将所有AIS数据插入一个索引结构,随着数据量增长,索引的更新效率、查询效率及…

8508A福禄克(FLUKE)数字多用表

181/2461/8938产品概述: Fluke 8508A 万用表在广泛的测量范围内具有卓越的准确性和稳定性,旨在用作校准实验室的多功能精密测量工具,这些实验室必须满足日益严格的测量不确定性分析要求以及提高生产率的需要。 作为其复杂职责的一部分&…

前端项目,个人笔记(一)【Vue-cli - 定制化主题 + 路由设计】

目录 1、项目准备 1.1、项目初始化 1.2、elementPlus按需引入 注:使用cnpm安装elementplus及两个插件,会报错:vueelement-plus报错TypeError: Cannot read properties of null (reading isCE ) ,修改: 测试&#…

SSO 单点登录

什么是JWT JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用间传输声明。它以一种紧凑且自包含的方式安全地在用户和服务之间传递信息,通常用于身份验证和信息交换 为什么要使用JWT 1.传统Se…

解密学习机制:线性回归与梯度下降之旅

摘要 在理解机器学习机制的过程中,我们探讨了在合成数据集上训练简单线性回归模型的过程。整个过程要解决的问题是算法如何通过迭代优化来学习输入和输出变量之间的基本关系。 我们的方法包括生成一个合成线性数据集,实施梯度下降进行参数估计&#xf…

Sonarqube中Java规则与CWE与OWASP的映射关系

很多企业使用Sonarqube社区版作为静态分析工具,在开发阶段检测代码中的缺陷或安全漏洞。但是如果是作为SAST工具厂商,集成该引擎,则需要把Sonarqube中的检测规则与其它引擎的规则进行整合,例如下图,把Sonarqube中的一些…

Spring Cloud Alibaba微服务从入门到进阶(三)(Spring Cloud Alibaba)

Spring Cloud Alibaba是spring Cloud的子项目 Spring Cloud Alibaba的主要组件(红框内是开源的) Spring Cloud是快速构建分布式系统的工具集, Spring Cloud提供了很多分布式功能 Spring Cloud常用子项目 项目整合 Spring Cloud Alibaba …

Java项目:56 ssm681基于Java的超市管理系统+jsp

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 功能包括:商品分类,供货商管理,库存管理,销售统计,用户及角色管理,等等功能。项目采用mave…

【考研数学】高等数学总结

文章目录 第一章 极限 函数 连续1.1 极限存在准则及两个重要极限1.1.1 夹逼定理1.1.1.1 数列夹逼定理1.1.1.2函数夹逼定理 1.1.2 两个重要极限1.1.2.1 极限公式11.1.2.1.1 证明1.1.2.1.2 数列的单调有界收敛准则1.1.2.1.2.1 二项式定理1.1.2.1.2.2 证明 1.1.2.2 极限公式21.1.2…

【Linux进程信号】信号的发送与保存

【Linux进程信号】信号的发送与保存 目录 【Linux进程信号】信号的发送与保存阻塞信号1. 信号其他相关常见概念2. 在内核中的表示3. sigset_t4. 信号集操作函数sigprocmasksigpendingsignal测试这几个系统调用接口 进程地址空间第三讲捕捉信号1. 内核如何实现信号的捕捉2. siga…

一个能够自我游戏的贪吃蛇(pygame与搜索算法)

贪吃蛇小游戏再经典不过了,作为编程爱好者,代码编译的贪吃蛇,又能有怎样的成绩呢? 带着好奇,开始! 先做一个普通的贪吃蛇游戏 引入相关package import pygame 定义相关配置变量 # 定义字体 font pyg…