首页 > 编程语言 >Python文件相关操作与os模块

Python文件相关操作与os模块

时间:2024-03-25 16:29:37浏览次数:29  
标签:文件 读取 stream Python open 模块 path os

文件操作

格式:

stream = open(path/filename,mode)    #相当于打开一个管道

container = stream.read()                   #从管道中读取文件

 读文件

mode 的值表示模式,例如mode= 'r'表示读文件,下表为mode为不同值时的操作。

'r'

读取(默认)

'w'

写入,并先截断文件

'x'

排它性创建,如果文件已存在则失败

'a'

打开文件用于写入,如果文件存在则在末尾追加

'b'

二进制模式

't'

文本模式(默认)

'+'

打开用于更新(读取与写入)

默认模式为 'r' (打开文件用于读取文本,与 'rt' 同义)。'w+' 和 'w+b' 模式将打开文件并清空内容。而 'r+' 和 'r+b' 模式将打开文件但不清空内容。 

例如:

stream = open(r'C:\Users\Desktop\Study\as\123.txt', 'r')
result = stream.read()
print(result)

 注意:如果传递的path/filename有误,则会报错:FileNotFoundError

  如果是图片则不能是默认的读取方式, mode = 'rb'

.read() 读取所有内容

.readline()每次读取一行内容

.readlines()读取所有的行保存到列表中

.readable()判断是否可读

 写文件

格式:

stream= open (r'C/path/filename','w')

stream.write('要写入的内容')

 例如:

stream = open(r'C:\Users\Desktop\Study\as\123.txt', 'w')
stream.write('asdadfdz')

 write(内容)        每次(open--->close)都会将原来的内容清空,然后写当前的内容

writelines(Iterable)   没有换行效果,如果要想有换行的效果,只能自己加 \n

 释放资源

格式:

stream.close()           关闭管道,释放资源

 OS模块

os模块下方法

os.getcwd()           获取当前目录

os.listdir()              浏览文件夹

os.mkdir()             创建文件夹

os.rmdir()              删除文件夹

os.remove()          删除文件

os.chdir()              切换目录

os.path常用函数

dirname()            获取指定文件的目录

join()                   拼接获取新的路径

split()                  分割(文件目录,文件名)

splitftext()           分割(文件目录\文件名,文件的扩展名)

getsizes()            获取文件大小

isabs                   判断是否是绝对路径

isfile()                 判断是否是文件

isdir()                  判断是否是文件夹

 复制文件

复制文件其实分为两部分,第一步读取文件内容,然后记住,写入另一个文件中。

 with open('C:\\p1\\gril.jpg', 'rb') as stream:
     container = stream.read()          #读取文件内容
     with open('C:\\p2\\gril.jpg', 'wb') as wstream:
         wstream.write(container)         #写入到另一个文件中
 print('文件复制完成!')

复制文件夹 

代码:

import os

src_path = '文件路径'
target_path = '文件路径'


def copy(path, target_path):
    # 获取文件夹里面的内容
    file_list = os.listdir(src_path)
    # 遍历列表
    for file_name in file_list:
        # 拼接路径
        path = os.path.join(src_path, file_name)
        # 判断是不是文件夹
        if os.path.isdir(path):
            # 递归
            copy(path, target_path)
        else:
            with open(path, 'r') as f:
                container = f.read()
                path1 = os.path.join(target_path, file_name)
                with open(path1, 'w') as s:
                    s.write(container)
    else:
        print('复制完成!')


# 调用
copy(src_path, target_path)

标签:文件,读取,stream,Python,open,模块,path,os
From: https://blog.csdn.net/qq_74342020/article/details/136965069

相关文章

  • iOS、Android获取apk公钥MD5信息
    背景国家工信部规定,所有国内在线或即将上线的APP做备案,否则无法通过域名访问。其中iOS和Android备案所需的APP相关信息我们不能直接明文获取,有公钥,MD5,包名,APP名,接口服务的域名等对于iOS端,如果是开发者,直接在苹果的证书管理网站上下载证书到本地打开,即可获得。参考对于Androi......
  • python的re正则匹配
    1、re.findall(r'\bf[a-z]*','whichfootorhandfellfastest')表示什么意思这个正则表达式 r'\bf[a-z]*' 用于在给定的字符串中找到以字母'f'开头的单词。让我来逐步解释:r 前缀表示这是一个原始字符串(rawstring),在Python中使用正则表达式时常见的做法,因为它可......
  • Alibaba Cloud Linux 安装 PostgreSQL 数据库
    https://blog.csdn.net/simpledate/article/details/123365889?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-123365889-blog-135289834.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_so......
  • F28004X系列学习总结(3)——GPIO模块
    首先学习的模块就是GPIO,学习完后我们可以做到简单的点灯程序。I/O口配置步骤1、计划自己准备使用的设备引脚2、启动上拉电阻使能(使用GPxPOD寄存器)3、选择输入资格(使用GPxQSELN寄存器,同步、设置采样窗口)4、选择I/O口的方向(使用GPxDIR寄存器)5、选择低功耗模式唤醒源6、选......
  • 51单片机扩展4G模块
    1.1:产品型号1.1.1:单片机:STC89C51RC1.1.2:4G模块:塔石的E36V-S1.2:实现功能可以在没有WiFi的户外实现远程控制设备的开关等功能。2.1:所需硬件单片机、4G模块、双路5V控制220V继电器、杜邦线若干、水阀(我这里远程控制水阀)2.2:硬件连线通过USB用电脑给单片机供电。4G模块的V......
  • 基于 Python + Unitest + HwTestReport/BeautifulReport的UI自动化测试框架
    一、框架目录结构概览 二、框架执行流程简介 三、框架目录结构简介 四、测试报告示例 HwTestReport BeautifulReport         ......
  • CentOS7.6离线安装Docker
    一、环境检查[root@localhostsoftware]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[root@localhostsoftware]#uname-aLinuxlocalhost.localdomain3.10.0-957.el7.x86_64#1SMPThuNov823:39:32UTC2018x86_64x86_64x86_64GNU/Linux[root@......
  • macbook pycharm:macbook Configure Python Interpreter
     新建或新导入python项目,提示:macbookConfigurePythonInterpreter需要配置PythonInterpreter 找到python3whichpython3 配置PythonInterpreterPycharm-preferences-PythonInterpretershowall:选择已有的(不赘述)oradd新的AddExistingenvironment选择 /u......
  • 清理系统centos下缓存并释放内存
    问题描述在启动容器的时候报错Exceptioninthread"main"java.lang.RuntimeException:startingjavafailedwith[1]output:##ThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue.#Nativememoryallocation(mmap)failedtomap832988774......
  • 如何系统得自学python?——9.公共操作
    一、运算符|运算符|描述|支持的容器类型||------|----------|------------------------------||+|合并|字符串,列表,元组||*|复制|字符串,列表,元组||in|是否存......