首页 > 编程语言 >Python中对文件进行操作

Python中对文件进行操作

时间:2023-08-15 12:56:04浏览次数:46  
标签:文件 Python file new directory path 操作 os

对于Python来说,文件处理绝对是一个常见的处理,读取文件、写入文件、生成文件……文件操作贯穿python

变成始终。

本篇文章将总结一下在平时编程过程中,常用的文件操作。

以下将按照增删改查的顺序,对文件以及目录操作进行总结。

新建文件和目录

import os

# 新建文件
new_file_path = "new_file.txt"
open(new_file_path, 'w').close()  # 创建空文件

# 新建目录
new_dir_path = "new_directory"
os.makedirs(new_dir_path)  # 创建目录,包括所有必需的中间目录

删除文件和目录

# 删除文件
os.remove(new_file_path)

# 删除目录
os.rmdir(new_dir_path)  # 删除空目录
# 或者删除目录及其内容
import shutil
shutil.rmtree(new_dir_path)

修改文件和目录名

# 修改文件名
new_file_name = "renamed_file.txt"
os.rename(new_file_path, new_file_name)

# 修改目录名
new_dir_name = "renamed_directory"
os.rename(new_dir_path, new_dir_name)

# 修改文件格式(扩展名)
new_extension = "txt"
os.rename(new_file_name, f"{new_dir_name}.{new_extension}")

# 修改文件权限
os.chmod(new_file_name, 0o755)  # 修改文件权限为755

# 修改目录权限
os.chmod(new_dir_name, 0o755)   # 修改目录权限为755

查询文件和目录

# 查询当前目录下的文件和目录
current_directory = os.getcwd()
files_in_directory = [f for f in os.listdir(current_directory) if os.path.isfile(os.path.join(current_directory, f))]
directories_in_directory = [d for d in os.listdir(current_directory) if os.path.isdir(os.path.join(current_directory, d))]

# 判断文件、目录是否存在
if os.path.exists(file_path):
    print(f"The file '{file_path}' exists.")
else:
    print(f"The file '{file_path}' does not exist.")

# 遍历查询目录下所有文件
def list_files(start_path):
    for root, dirs, files in os.walk(start_path):
        for file in files:
            print(os.path.join(root, file))

# 调用遍历函数 list_files(current_directory)

 遍历目录还有一个更加方便的函数“walk”

import os

start_directory = "your_start_directory"

for root, directories, files in os.walk(start_directory):
    print(f"Current directory: {root}")
    print(f"Subdirectories: {directories}")
    print(f"Files: {files}")
    print("-" * 40)

 

标签:文件,Python,file,new,directory,path,操作,os
From: https://www.cnblogs.com/luohe666/p/17631040.html

相关文章

  • python 项目部署相关
    git代码管理和同步git本地上传全局配置gitconfig--globaluser.name"aaa"gitconfig--globaluser.email"[email protected]"进入项目目录初始化gitinit配置远程地址gitremoteaddoriginhttps://gitee.com/wupeiqi/xxxxx.git本地版本提交gitadd.g......
  • python 解决Could not import the lzma module. Your installed Python is incomplete
    python安装好pandas后import报错如下图:原因分析在执行./configure和makeinstall的时候出现错误提示,被忽略了,如下图:解决方法安装yuminstall-yxz-devel然后重新安装python,执行./configure和makeinstall......
  • Git知识总览 git分支管理之rebase 以及 cherry-pick相关操作
    https://www.cnblogs.com/ludashi/category/1141984.html  上篇博客聊了《Git知识总览(三)分支的创建、删除、切换、合并以及冲突解决》,本篇博客我们主要来看一下 rebase 变基相关的操作。rebase操作和merge操作最终都可以达到合并代码的效果,不过其对分支的影响不同。......
  • 在Windows Server 2008上启用自动文件夹备份
    要在WindowsServer2008上启用自动文件夹备份,您可以使用内置的Windows备份功能。下面是如何设置它的方法:1.点击“开始”按钮并选择“服务器管理器”,打开“服务器管理器”。2.在“服务器管理器”窗口中,单击左侧窗格中的“功能”。3.在右侧的功能面板中点击[添加功能]。4......
  • 学好Elasticsearch系列-索引的批量操作
    本文已收录至Github,推荐阅读......
  • 解析EFL文件中符号表读取
    符号表表头Linux中使用指令查看完整读取elf文件readelf-aexample.elfNum:ValueSizeTypeBindVisNdxName代表含义Num符号编号Value符号值,取决于上下文Size符号值Type符号类型,例如函数、对象、文件(源文件名称)、节(内存节)或未指定类型......
  • 1.0、Markdown文件导入到博客园
    前言博客园的Markdown语法编辑不太友好,大多都是使用Typora来进行编辑,然后再想办法上传到博客园上。方法安装.NetCoreSDK下载地址:https://dotnet.microsoft.com/en-us/learn/dotnet/hello-world-tutorial/install下载完成后直接双击默认安装即可安装dotnet-cnblog执行......
  • C++ 调用 Python 接口 Mat转Numpy
    参考网站:https://blog.csdn.net/qq7835144/article/details/106073110?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242https://blog.csdn.net/weixin_46400740/article/details/116711323?spm=1001.2014.3001.5501 1、配......
  • esXGray开发笔记:基于直线检测的文本倾斜自动校正算法实现(python+opencv)
    昨日采用最小面积矩形的方式实现文本倾斜自动校正,但后面的角度有点麻烦,于是改用基本直线检测的算法。算法简介:检测直线,自动调节参数,至少获取11条直线(直线条数调节)计算每条直线与x轴夹角从返回的角度中找到出现次数较多的直线角度平均值并返回作为图片倾斜角度检测到角度后,就......
  • c语言精通学习「2」: 位操作
     1.位操作符包括  &0&0=00&1=01&1=1特定位清零如11010101&11100111=11000101|0|0=0  1|0=1  1|1=1特定位置一~~0=1~1=0逻辑取反是!,真变成加、假变成真^ 1^1=00^0=11^0=0特定位取反<<>> 左移或......