关于python文件操作

基于电能质量治理的场景实例:统一电能质量调节器(UPQC)与并网逆变器集成 本文通过Simulink平台,详细演示了统一电能质量调节器(UPQC)与并网逆变器的集成系统建模与仿真过程。主要内容包括:1)系统架构设计,包含光伏并网系统、非线性负载和电压扰动源;2)UPQC主电路设计,包括串联/并联单元拓扑和控制策略实现;3)与并网逆变器的能量交互与协同控制逻辑;4)典型电能质量问题的仿真测试场景。结果表明,该集成系统能有效治理电压暂降(维持负载电压380V±2%)和电流谐波(电网THD<3%),直流母线电压稳定在800V±5V。该系统为应对复杂电能质量问题提供了"电压 阅读详情

对于一些api偶尔会记不起来,正好搜到一篇mark一下。

原文出处:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html



总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。

得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()

返回指定目录下的所有文件和目录名:os.listdir()

函数用来删除一个文件:os.remove()

删除多个目录:os.removedirs(r“c:\python”)

检验给出的路径是否是一个文件:os.path.isfile()

检验给出的路径是否是一个目录:os.path.isdir()

判断是否是绝对路径:os.path.isabs()

检验给出的路径是否真地存:os.path.exists()

返回一个路径的目录名和文件名:os.path.split()     eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt') 

分离扩展名:os.path.splitext()

获取路径名:os.path.dirname()

获取文件名:os.path.basename()

运行shell命令: os.system()

读取和设置环境变量:os.getenv() 与os.putenv()

给出当前平台使用的行终止符:os.linesep    Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

指示你正在使用的平台:os.name       对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'

重命名:os.rename(old, new)

创建多级目录:os.makedirs(r“c:\python\test”)

创建单个目录:os.mkdir(“test”)

获取文件属性:os.stat(file)

修改文件权限与时间戳:os.chmod(file)

终止当前进程:os.exit()

获取文件大小:os.path.getsize(filename)


文件操作:
os.mknod("test.txt") 
       创建空文件
fp = open("test.txt",w)     直接打开一个文件,如果文件不存在则创建文件

关于open 模式:

w     以写方式打开,
a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+     以读写模式打开
w+     以读写模式打开 (参见 w )
a+     以读写模式打开 (参见 a )
rb     以二进制读模式打开
wb     以二进制写模式打开 (参见 w )
ab     以二进制追加模式打开 (参见 a )
rb+    以二进制读写模式打开 (参见 r+ )
wb+    以二进制读写模式打开 (参见 w+ )
ab+    以二进制读写模式打开 (参见 a+ )

 

fp.read([size])                     #size为读取的长度,以byte为单位

fp.readline([size])                 #读一行,如果定义了size,有可能返回的只是一行的一部分

fp.readlines([size])                #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

fp.write(str)                      #把str写到文件中,write()并不会在str后加上一个换行符

fp.writelines(seq)            #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

fp.close()                        #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。  如果一个文件在关闭后还对其进行操作会产生ValueError

fp.flush()                                      #把缓冲区的内容写入硬盘

fp.fileno()                                      #返回一个长整型的”文件标签“

fp.isatty()                                      #文件是否是一个终端设备文件(unix系统中的)

fp.tell()                                         #返回文件操作标记的当前位置,以文件的开头为原点

fp.next()                                       #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

fp.seek(offset[,whence])              #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

fp.truncate([size])                       #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

 

目录操作:
os.mkdir("file")     
              创建目录
复制文件:
shutil.copyfile("oldfile","newfile")       oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile")            oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
复制文件夹:
shutil.copytree("olddir","newdir")        olddir和newdir都只能是目录,且newdir必须不存在
重命名文件(目录)
os.rename("oldname","newname")       文件或目录都是使用这条命令
移动文件(目录)
shutil.move("oldpos","newpos")   
删除文件
os.remove("file")
删除目录
os.rmdir("dir")只能删除空目录
shutil.rmtree("dir")    空目录、有内容的目录都可以删
转换目录
os.chdir("path")   换路径

 

相关例子 

 1 将文件夹下所有图片名称加上'_fc'

python代码:

# -*- coding:utf-8 -*-
import re
import os
import time
#str.split(string)分割字符串
#'连接符'.join(list) 将列表组成字符串
def change_name(path):
    global i
    if not os.path.isdir(path) and not os.path.isfile(path):
        return False
    if os.path.isfile(path):
        file_path = os.path.split(path) #分割出目录与文件
        lists = file_path[1].split('.') #分割出文件与文件扩展名
        file_ext = lists[-1] #取出后缀名(列表切片操作)
        img_ext = ['bmp','jpeg','gif','psd','png','jpg']
        if file_ext in img_ext:
            os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)
            i+=1 #注意这里的i是一个陷阱
        #或者
        #img_ext = 'bmp|jpeg|gif|psd|png|jpg'
        #if file_ext in img_ext:
        #    print('ok---'+file_ext)
    elif os.path.isdir(path):
        for x in os.listdir(path):
            change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用


img_dir = 'D:\\xx\\xx\\images'
img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - start
print('程序运行耗时:%0.2f'%(c))
print('总共处理了 %s 张图片'%(i))

输出结果:

程序运行耗时:0.11
总共处理了 109 张图片


C# 实现 Modbus 通信全教程(支持 TCP 和 RTU,含完整错误处理) 环境准备:安装 NModbus4 库,明确设备参数(IP/串口、地址、数据类型);连接设备:TCP 用 TcpClient,RTU 用 SerialPort,注意超时和参数匹配;读写数据:根据数据类型调用对应方法(读保持寄存器用 ReadHoldingRegisters);错误处理:捕获连接、超时、协议等异常,针对性排查问题。掌握这些后,即可轻松实现与工业设备的 Modbus 通信,为上位机开发提供稳定的数据交互能力。 阅读详情

相关推荐

OpenCV实战:从边缘检测到透视校正,打造智能文档扫描仪(Python代码详解)

本文详细介绍了如何使用OpenCV和Python从零开始构建一个智能文档扫描仪。通过边缘检测、透视校正和文字增强等核心技术,将倾斜、模糊的文档照片转换为清晰、方正的高质量扫描图像。文章提供了完整的代码实现和参数调优经验,帮助开发者打造稳定、高效的文档处理工具。

flower的专栏 695

用Python推送书籍到Kindle

很早以前买了 Kindle,为了省钱在网络上找过不少电子书,它有一点好处就是可以自己导入书籍,更好的是可以通过电子邮件的方式发送到 Kindle 上,本文就来一步步实现一个书籍推送软件。1、邮件的几种协议介绍以下科普内容来自:http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html。POP3是Post Office Protocol 3的简称,即邮局...

C与Python实战 4225

CCSP考后复盘:那些刷题时感觉良好,考场却发懵的题目到底长什么样?

本文深入分析了CCSP考试中常见的题目陷阱和解题策略,揭示了刷题与实战的差距。通过解析换装题、双胞胎选项和场景题等典型题型,帮助考生掌握拆题技巧和思维模式转变,提升应对CCSP考试的能力。

weixin_30485379的博客 436

python开发总结五

不知觉python总结都有四十页了,虽然可能很多都是基础性的,仍然有成就感。和之前一样,仍然全部贴出来,而不是把新的贴出来,请谅解。这次新增的部分包括c扩展,排序,ftp,源码安全,性能,代码检查等。后面在python上努力的几个方向:1、继续在开发中多使用,积累开发经验。2、针对我们公司完善基础库,在我们公司推广。3、抽时间,系统学习一下python。4、学习一下高手在怎么使用python。毕竟

常高伟的专栏 3892

Reactor 响应式编程(第一篇:Reactor核心)

响应式:响应式编程: 全异步、消息、事件回调默认还是用当前线程,生成整个流、发布流、流操作.log();//只要不指定线程池,默认发布者用的线程就是订阅者的线程;

moments的博客 1572

altium room 布局_ALtium 16相同重复模块PCB布局,复制布局走线

自己做了实际工程以后发现PCB器件名字后缀太长了,所以文章最后写了一下后缀的调整方法。第一种方法:1、建立子原理图如下,文件名CANM 2、之后新建一个顶层文件,文件名TOP,之后design—create sheet symbol form sheet or hdl。选择CANM,并放置到TOP中,如下 3、由于我们要多次调用CANM所以使用repeat命令修改如下: 4、之后根据自己的定义,连...

weixin_39609573的博客 5749

Python中对基本文件操作

Python中对基本文件操作,一起来学习吧(一起努力,咱们顶峰相见)

精益求精,永无止境,永远在路上! 7854

iPhone免越狱Git服务器搭建教程-iSH

iPhone免越狱Git服务器搭建教程

jts666的博客 4427

python 关于文件操作——基础详细

python 文件操作、文件读写(write、read、readlines、readline)、文件的相关操作,简单易懂 目录1 文件操作1.1 文件打开与关闭1.1.1 打开文件1.1.2 关闭文件1.2 访问模式及说明2 文件读写2.1 写数据(write)2.2 读数据(read)2.3 读数据(readlines)2.3 读数据(readline)3 文件的相关操作3.1 文件重命名3.2 删除文件3.3 创建文件夹3.4 获取当前目录3.5 改变默认目录 1 文件操作 文件就是把一些数据存起来,

ChenBinBini的博客 3万+

概述DeepLab系列(deeplab v1, deeplab v2, deeplab v3, deeplab v3+)

前言:图像分割是指像素级别的图像识别,即标注出图像中每个像素所属的对象类别。 语义分割更注重类别之间的区分,而实例分割更注重个体之间的区别。 DeepLab是由Google团队提出的一系列图像分割算法。 DeepLab v1 (2014年) Paper (ICLR 2015) Code 创新点: 空洞卷积(Atrous Conv); <解决编码过程中信号不断被下采样,细节丢失的问题> 全连接条件随机场(Fully-connected Conditional Random Field)。

ZSH12345678900的博客 5528

图像传感器与信号处理——详解CCD与CMOS图像传感器

一文详解CCD与CMOS图像传感器一文详解CCD与CMOS图像传感器1. 图像传感器性能关键词1.1 噪声1.2 暗电流 一文详解CCD与CMOS图像传感器 本文主要总结了CCD与CMOS传感器的原理知识,参考书籍为《数码相机中图像传感器和信号处理》,英文版为《Image Sensors And Signal Processing for Digital Still Cameras》 1. 图像传...

weixin_44580210的博客 2万+

python文件操作

python对文件的常见操作以及代码演示

。 1841

物料分类账-返工工单(自身)差异分摊逻辑

如上图所示,当月入库的全部消耗,而返工消耗的数量为100PCS,所以返工消耗占总消耗的比例为100pcs/(205pcs+100pcs)=0.327868852。备注:红色箭头的物料号为产品自己本身所产生的价差,就是返工工单所承担的差异,而我们要计算的就是这个值,所以计算价差不会包括此项。价差合计就是不包括初始分摊的价差9153.7,剩下的价差合计就是返工工单自身所承担的差异4465.21。每一次返工工单所承担的差异都会按照价差*承担比例去计算承担的差异,知道承担完所有差异。

Yeol827的博客 2488

Python文件操作详解

一:打开和关闭文件①:open 函数        你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法:file object = open(file_name [, access_mode][, buffering])   各个参数的细节如下:      file_name:是一个包含了你要访问的文件名的字符串值。      ac...

JOKER___Z的博客 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python 文件操作详解

本文全面介绍了Python文件操作的核心知识,包括基本流程、打开模式、常用方法和实用场景。文章详细对比了各种操作模式的差异,并提供了大量代码示例,特别推荐使用with语句自动处理文件关闭,是掌握Python文件处理的实用指南。

x15514104477的博客 1094

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python-文件操作

os.scandir() 用于获取指定目录中的条目,并返回一个包含 DirEntry 对象的迭代器。每个 DirEntry 对象提供了文件或目录的基本信息,如名称、路径、文件类型等。与 os.listdir() 相比,os.scandir() 提供了更高效的文件遍历,能够直接访问文件类型信息,而不需要额外的系统调用。3.7 文件拷贝-

qq_27833723的博客 2498

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python文件操作

Python文件操作

OneFine的技术博客 2148

Python文件操作总结

Python文件操作 文件 计算机中数据持久化的表现形式 读写文件标准格式一 打开

阿鹏的博客 1660

Python教程——python文件操作详解

所谓的文件操作是指对计算机中的文件进行读取、写入、修改和删除等操作。就是这三个简简单单的操作,却在计算机世界占有一席之地。打开文件有各种打开模式,各不相同;操作文件,有读写模式;关闭文件就比较简单了。

mate1357的博客 1616

Python之文件操作详解

Python文件操作 Python文件操作示例

weixin_42771366的博客 3370

改变文件操作指针位置的方法python_Python之文件操作

文件操作:os.mknod("test.txt")创建空文件fp = open("test.txt",w)直接打开一个文件,如果文件不存在则创建文件关于open 模式:w以写方式打开,a以追加模式打开 (从 EOF 开始, 必要时创建新文件)r+以读写模式打开w+以读写模式打开 (参见 w )a+以读写模式打开 (参见 a )rb以二进制...

weixin_39929721的博客 1700

python中文件操作中有什么困难_浅谈python中的文件操作

对于文件的操作在python中占有相当大的分量,今天我们就从新人的角度来看看python中一些简单的文件操作。python中文件操作一共有六种常用模式,分别是‘r’,‘w’,‘a’,‘r+’,‘w+’,‘a+’。首先,我们先创建一个文件‘file2’,并将如下内容写进文件:一张褪色的照片,好像带给我一点点怀念。巷尾老爷爷卖的热汤面,味道弥漫过旧旧的后院;流浪猫睡熟在摇晃秋千,夕阳照了一遍他咪着眼;...

weixin_39885383的博客 134

Python3文件操作

文章目录创建文件对象open()文本文件的写入基本的文件写入操作write()/writelines()写入数据close()关闭文件流with语句(上下文管理器)文本文件的读取二进制文件的读取和写入文件对象的常用属性和方法pickle序列化csv文件的操作csv:简介csv.reader对象和csv文件读取文件操作练习 创建文件对象open() open()函数用于创建文件对象,基本语法格式如下(): open(文件名,打开方式) 如果只是文件名,代表在当前目录下的问价。文件名可以录入全部路径,比如:

weixin_54964904的博客 864

【Python】txt文件操作详解

在使用Python的过程中,需要对各种文件进行处理如excel、csv、txt等,这篇文章主要总结对txt文件的各种操作。 目录 1.打开文件--open()方法 2.读文件--read()方法 3.写文件--write()方法 4.关闭文件--close()方法 5.文件定位 5.1文件内的当前位置--tell()方法 5.2改变当前文件的位置--seek()方...

J小白的博客 5876

python 文件操作_python文件操作

1、打开文件(使用open或是file函数)open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)ps:使用w模式时要慎重,避免操作不当删除原有的数据r+模式时,首先进行文件的读操作,将文件指针移到文件末尾,再向文件中写入内容,新写入的内容直接追加...

weixin_39663729的博客 130
上一篇: python百度贴吧爬虫,以及爬虫简要入门
下一篇: linux(ubuntu) 下 无法打开(挂载)U盘,或者双系统的window下的盘符
Kindle_code
博客等级 码龄12年 21粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值