一起学习python——基础篇(17)

 

今天我说一下python中有关文件的操作。

1、检测一个目录里面有无这个文件夹、有无txt文件,代码如下:

import os  

#文件的路径

testPath="D:/pythonFile"

testPath2="D:/pythonFile/test.txt"

#使用exists()方法检查是否存在文件夹

if os.path.exists(testPath):

    print("文件夹已经存在")

else:

    print("文件夹不存在")

#使用exists()方法检查是否存在txt文件

if os.path.exists(testPath2):

    print("txt文件已经存在")

else:

    print("txt文件不存在")

2、创建一个文件夹,代码如下:

import os

#文件的路径

testPath="D:/pythonFile2"

#使用exists()方法检查是否存在文件夹

if os.path.exists(testPath):

    print("文件夹已经存在")

else:

    os.mkdir(testPath)

    print("文件夹不存在")

#使用exists()方法检查是否存在文件夹

if os.path.exists(testPath):

    print("文件已经存在")

else:

    print("文件不存在")

 

3、创建一个txt文件,代码如下:

import os

#创建txt文件的路径

testPath="D:/pythonFile2/test2.txt"

#使用open()方法创建文件

open(testPath,"x")

#使用exists()方法检查是否存在txt文件

if os.path.exists(testPath):

    print("txt文件已经存在")

    #如果文件已经存在的情况,不能再次调用这个方法,调用报错

    open(testPath,"x")

else:

    print("txt文件不存在")

注意:之所以报错是因为使用了参数为x的open方法,这个参数使用的前提是必须判断是否已经存在,不存在创建文件;存在就会报错。

如何可以在不判断文件是否存在的情况下创建文件不报错(判断少了,整体代码也少了),

这里就有两个参数可以替换x,分别是a和w。就是说使用open("路径","a")或者open("路径","w")

前者(参数a)是创建文件前不必自己手动写代码判断是否存在文件,它会自己判断文件是否存在,不存在的时候创建;如果文件存在时,写入内容时会追加之前的内容内。

后者(参数w)是是创建文件前不必自己手动写代码判断是否存在文件,它会自己判断文件是否存在,不存在的时候创建;如果文件存在时,写入内容时会覆盖之前的内容。

4、在txt文件里面写入内容,代码如下:

import os

#创建txt文件的路径

testPath="D:/pythonFile2/test2.txt"

#使用open()方法创建文件

newFile=open(testPath,"a")

newFile.write("python编程基础:")

newFile.close()

#测试再次创建文件,看看是否报错。答案是:不会报错

newFile2=open(testPath,"a")

#因为使用的open方法里面的参数为a,再次写入内容追加旧内容后面

newFile2.write("好好学习,天天向上!")

newFile2.close()

 

5、删除文件,代码如下:

import os

#创建txt文件的路径

testPath="D:/pythonFile2/test2.txt"

#使用remove方法删除文件

os.remove(testPath)

if os.path.exists(testPath):

    print("文件存在")

else:

    print("文件不存在,删除成功")

注意:删除前判断文件是否存在,存在再调用删除方法;不存在调用删除方法会报错。

6、删除文件夹,代码如下:

import os

#创建文件夹的路径

testPath="D:/pythonFile2"

#使用rmdir方法删除文件夹

os.rmdir(testPath)

if os.path.exists(testPath):

    print("文件夹存在")

else:

    print("文件夹不存在,删除成功")

 

注意:删除前判断文件夹是否存在,存在再调用删除方法;不存在调用删除方法会报错。

大家有啥不懂的可以私信我,一起学习进步哈!

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RREA论文阅读

Relational Reflection Entity Alignment 关系反射实体对齐 ABSTRACT 实体对齐旨在识别来自不同知识图谱(KG)的等效实体对,这对于集成多源知识图谱至关重要。最近,随着 GNN 在实体对齐中的引入,近期模型的架构变得越来越复杂。我们甚至在这…

Power BI报告在PPT中实时刷新的实现技巧分享

前面我们刚介绍了如何在PPT中展示Power BI报告? 很巧的是,在刚刚的Power BI 2024年4月更新的诸多新特性中,PPT中使用的Power BI插件又有新特性的更新,数据自动刷新功能(新特性仅限国际版使用),这个新特性支持最低15秒…

软件定义车队面临网络安全的曲折之路

当以色列 REE Automotive 设计其 P7 电动汽车底盘时,它是从软件开始工作的:扁平的车辆底盘完全可配置,每个轮胎附近有四个独立的模块,用于转向、制动、悬架和动力传动系统,每个模块均由电子驱动控制单元(EC…

网络协议——OSPF(开放式最短路径优先)详解

1.什么是OSPF 开放式最短路径优先OSPF 是一种动态的高度可靠和高度可扩展的路由协议,用于构建大型网络中的动态路由系统 2. OSPF的协议号为:89 3. OSPF的特点: OSPF是链路状态协议使用了区域概念:减少路由选择协议对路由器CPU,…

【LeetCode】二叉树类题目详解

二叉树 二叉树的理论基础 二叉树是结点的度数之和不超过2的树,二叉树总共有五种基本形态 二叉树的种类主要有: 满二叉树完全二叉树 二叉树的存储方式 顺序存储链式存储 二叉树的遍历方式 先序遍历(深度优先搜索)中序遍历&…

蓝桥杯-STL-string

目录 字符串定义 字符串初始化 字符串输入输出 字符串输出 字符串输入 字符串访问 字符串拷贝 字符串拼接 直接相加 append(const char*str,int n) 字符串比较 ​编辑字符串长度length()/size() 字符串查找find(string str) 查找子串substr(int a,int b) 字符串的…

秋招数据库学习2(20240408-20240412共10道)

由于感觉数据库难度可能暂时面试用不到,就先不刷啦 20240408 1.从不订购的客户 SELECT Name AS Customers FROM Customers C LEFT JOIN Orders O ON C.Id O.CustomerId WHERE CustomerId is nullselect customers.name as Customers from Customers wher…

手写ArrrayList

需求 自定义的MyArrayList import java.util.Arrays; import java.util.Objects;public class MyArrayList<E> {private Object[] elementData ; // 存储元素的数组private int size; // 记录 的元素个数private static final int DEFAULT_CAPACITY 10; // 默认容量// …

Eigen笔记2:矩阵拼接

直接贴代码吧&#xff0c;使用的MatrixXd 和<<运算符&#xff1a; int main(int argc, char *argv[]) {Eigen::MatrixXd B(2, 2);B << 1, 2,3, 4;Eigen::MatrixXd C(2, 2);C << 5, 6,7, 8;Eigen::MatrixXd D(2, 2);D << 9, 10,11, 12;Eigen::MatrixXd…

基于React封装Handsontable并兼容antd

背景 其实Handsontable官方也提供了React的版本&#xff0c;但是官方的版本再编辑和渲染的时候并不能够很好的嵌入第三方的组件库。这就导致了&#xff0c;使用了Handsontable就没有办和普通的react项目一样轻松引用其他第三方组件。因此对其react的版本进行了二次的封装&#…

Django中间件路由映射自动加/斜杠问题原因及分析

输入 http://127.0.0.1:8000/main/index/ 输入 http://127.0.0.1:8000/main/index 路由定义情况 urlpatterns [path("index/", views.index) ]可以发现我在输入URL的index路由时&#xff0c;如果没有和Django定义的路由匹配规则一样的话&#xff0c;浏览器自…

Vim:强大的文本编辑器

文章目录 Vim&#xff1a;强大的文本编辑器Vim的模式命令模式常用操作光标移动文本编辑查找和替换 底行命令模式常用操作Vim的多窗口操作批量注释与去注释Vim插件推荐&#xff1a;vimforcpp结论 Vim&#xff1a;强大的文本编辑器 Vim&#xff0c;代表 Vi IMproved&#xff0c;…

如何确保软件通过SmartScreen验证,消除用户下载时的警告提示?

在当前的网络时代&#xff0c;各种软件应用程序深深渗透到人们的日常生活和工作中&#xff0c;许多企业选择自行开发应用程序以推进其业务发展。但在发布应用程序后&#xff0c;软件所有者经常会遇到一个挑战&#xff0c;即用户在下载时可能会遇到微软SmartScreen提示“此应用程…

探索HTTP协议的世界 | 从基础到高级应用,原理与实践相结合(请求篇)

从基础到高级应用&#xff0c;原理与实践相结合 什么是Http历代Http协议主要特点格式和URL协议内容请求行格式如下请求方法简单案例 消息报头报头域的格式HTTP消息报头类型普通报头优化方向报头&#xff08;缓存&#xff09;Cache-Control的选项其他相关的缓存报头 请求报头Acc…

Unity TMP Inputfield 输入框 框选 富文本 获取真实定位

一、带富文本标签的框选是什么 UGUI的InputField提供了selectionAnchorPosition和selectionFocusPosition&#xff0c;开始选择时的光标下标和当前光标下标 对于未添加富文本标签时&#xff0c;直接通过以上两个值&#xff0c;判断一下框选方向&#xff08;前向后/后向前&…

C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色

实现效果 调用方法 rtxtLog.AppendTextColorful(richTextBox1,DateTime.Now.ToString(), Color.Red); 完整代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Sys…

【U8+】用友固定资产卡片拆分提示:未设置对象变量或With block变量。

【问题描述】 用友U8软件中&#xff0c; 操作固定资产模块&#xff0c;针对资产进行卡片拆分的时候&#xff0c; 提示&#xff1a;未设置对象变量或With block变量。 确定后仍然能打开卡片拆分界面&#xff0c;但是界面显示异常看不到拆分明细信息&#xff0c;并且保存后拆分结…

【Qt-Qt Creator使用技巧】

工具-Qt Creator ■ 使用技巧■ 定义触发片段■ Qt Creator 行编辑■ 代码注释■ 代码补全■ 快速给函数添加定义■ 创建书签■ 同步列输入■ 局部替换■ 源代码阅读■ 源码调试■ 使用技巧 ■ 定义触发片段 ■ Qt Creator 行编辑 shift + alt + up / down来获得多个游标。 …

导入芯片原厂SDK Mirror源码到gerrit

下载镜像代码 repo init --mirror --repo-url ssh://xx/repo.git -u ssh://xx/manifests.git -m manifest.xml repo sync 创建AOSP project 对All Project权限修改 创建repo 在刚才下载的codebase根目录执行如下命令&#xff1a; repo forall -c echo $REPO_PROJECT; ssh -p 29…

DOTS Instancing合批:如何针对单个渲染实体修改材质参数

最近在做DOTS的教程,由于DOTS(版本1.0.16)目前不支持角色的骨骼动画&#xff0c;我们是将角色的所有动画数据Baker到一个纹理里面&#xff0c;通过修改材质中的参数AnimBegin,AnimEnd来决定动画播放的起点和终点&#xff0c;材质参数AnimTime记录当前过去的动画时间。但是在做大…