首页 > 编程语言 >python-文件操作

python-文件操作

时间:2022-12-16 17:13:40浏览次数:42  
标签:文件 pythonProject 读取 python file 操作 txt open

python-文件操作

操作流程

'''文件操作
  打开文件:open
  读写文件
      读:把文件的内容读到变量-read里面
      写:把变量值写入到文件里面
  关闭文件'''
#读取文件
'''
  打开文件
      变量名=open(要打开的文件路径,"r")
          变量名一定要存在:代表操作文件的对象后面要将文件内容读入到变量里面
          open:后的第一个参数(文件路径)一定要存在,如果文件不存在会报错
          ”r“的意思就是:用只读的方式打开文件'''
'''读取文件内容
      txt=file.read()
          txt:也是一个变量名,用于存储读取到的文件内容
          file:也是一个变量名,是open返回的问价内容
          .read()是读取文件的方式'''
'''关闭文件
      file.close()
      文件打开后一定要进行关闭'''

示例

#示例
file=open(r"D:\File\pythonProject\weidong.txt","r",encoding="gbk")
txt=file.read()
print(txt)
file.close()
'''注意:如果在文件中有中文存在,那么需要在open里面加一个encoding="utf8"将文件编码定位utf8才可以正常读取,否则会报错,如果全是英文那么不用修改使用原有的gbk就可以'''

  

#写入第一个文件

'''操作步骤
  打开文件
      与读取文件不同的点在写入文件要将后面跟的”r“改为”w“,
              注意:前面的r意思是为例方式出现转义的情况
      使用W写入文件,文件名不存在的话会创建一个新文件,文件名存在的话会覆盖原有文件
  写入文件
      file.write(需要写入的内容)
  关闭文件
      file.close()'''
file=open(r"D:\File\pythonProject\weidong.txt","w")
file.write("zheshi yigebijiaomafandeneirong")
file.close()
'''注意:通上一致打开文件时如果有中文就得指定字符集encoding=”utf8“'''
'''open的第二个参数分类
        r:只读
        w:只写(会覆盖原有内容)
        a:追加(不会覆盖原有内容)
        rb:二进制只读
        wb:二进制只写
        ab二进制追加'''

  

 

#修改文件

'''操作步骤:
      将原有文件使用r的方式读取
      在使用字符串修改方法修改文件内容,将修改后的内容存储到变量里面
      关闭文件(在这个地方必须关闭文件)
      使用w的方式打开文件
      将变量里面的值写入到文件里面'''
#示例
file=open(r"D:\File\pythonProject\a.txt","r",encoding="gbk")
tet=file.read()
a=tet.replace("我爱你","love")
file.close()
file=open(r"D:\File\pythonProject\a.txt","w")
file.write(a)
file.close()

  

 

#复制文件

'''把文件1打开读取到变量里面
  关闭文件1
  打开文件2,使用w的方式
  写入文件
  关闭文件'''
file=open(r"D:\File\pythonProject\a.txt","r")
tewt=file.read()
file.close()
file=open(r"D:\File\pythonProject\b.txt","w")
file.write(tewt)
file.close()

  

 

#合并文件

'''实现原理
  把文件1使用r的方式读取到变量中,关闭文件1
  把文件2使用r的方式读取到变量中,关闭文件2
  使用w都得方式打开文件3,将文件1+文件2写入到文件3中
  关闭文件'''
file=open(r"D:\File\pythonProject\a.txt","r")
trt=file.read()
file.close()
file=open(r"D:\File\pythonProject\b.txt","r")
tqt=file.read()
file.close()
file=open(r"D:\File\pythonProject\c.txt","w")
file.write(trt+tqt)
file.close()

  

 

readline按行读取文件

'''由于read一次性会把文件中所有内容读取到内存里面,如果文件特别大会消耗内存
  所以可以使用readline()按行读取文件
      使用readline()后每调用一次,内部文件指针就会下降一行,,这样的结果是下次再次调用readline会自动读取下一行
      readline读取到文件最后,返回""
      如果要通过readline读取文件内容
          可以写一些死循环
          在循环内部调用readline,读取文件
          如果readline返回""
          则终止这个循环'''
file=open(r"D:\File\pythonProject\c.txt","r")
while True:
    txt=file.readline()
    if txt=="":
        break
    print(txt,end="")
file.close()

  


#读取文件的偶数行
'''思路:写一个死循环,使用循环计数
      如果循环计数的变量和2取余数为0
      那么往变量里面写如当前循环的文件行的内容'''
file=open(r"D:\File\pythonProject\c.txt","r")
index=1#注意循环计数起始值都为0,为防止漏泄需要与readline读取到的的行数保持一致
while True:
    tet=file.readline()
    if tet=="":
        break
    if index %2 ==0:
        print(tet)
    index+=1
file.close()

  


#readlines()
'''一下子读取文件所有行,返回一个列表,列表中的一个成员就是文件中的一行,文件有多少行,列表就有多少成员'''
file=open(r"D:\File\pythonProject\c.txt","r")
twt=file.readlines()#返回的是一个列表
print(twt)#查看列表中的成员
for n in twt:#遍历列表,查看文件有多少行
    print(n)
file.close()

  

 

with open语法

'''with open
          时读写文件的一种简化写法
                  不需要明确关闭文件'''
with open(r"D:\File\pythonProject\c.txt","r") as file:
    txt=file.read()
    print(txt)

  

 

json文件操作

#json文件
'''一般定义数据使用
  在互联网传递数据的时候很常见的一种文件格式
  所有数据用一对大括号括起来
  大括号内部是键值对
  键和值要用冒号分隔
  字符串用双引号
  数字不需要引号
  列表用中括号
  对象用大括号'''
#读写json文件
'''一;导入json模块
  二:打开json文件
  三:调用json模块中的load方法,读取文件
  四关闭打开文件'''
import json
with open(r"D:\File\pythonProject\d","r",encoding="utf8") as file:
    txt=json.load(file)
for n in txt:
    print(n,txt[n])
'''注意字符集,json文件中有中文一定要指定字符集utf8'''

  


#写如json文件
'''导入json模块
  使用只写的方式打开json文件
  调用json模块中的dump方法把字典写入文件
  ensure_ascii = False代表中文不转义
  关闭文件'''
use={
  "name": "anlun",
  "age": 60,
  "addre": [1,2,3]
}
with open(r"D:\File\pythonProject\d","w",encoding="utf8") as file:
    json.dump(use,file,ensure_ascii=False)

  


#修改json文件中的值
'''修改字典值的方法'''
with open(r"D:\File\pythonProject\f","r",encoding="utf8") as file:
    twt=json.load(file)
twt["age"]=22
with open(r"D:\File\pythonProject\f","w",encoding="utf8") as file:
    json.dump(twt,file,ensure_ascii=False)

  

 
 

标签:文件,pythonProject,读取,python,file,操作,txt,open
From: https://www.cnblogs.com/wh0915/p/16987821.html

相关文章

  • Asp.Net上传文件示例(保存文件路径到数据库)
    把下面的代码保存为Upload.aspx即可运行(事先在同目录下建立一个Upload文件夹保存上传的文件,再建立一个数据库、表Upload,字段ID:自动编号,FilePath:文本型):<%@ImportName......
  • 加快系统文件复制速度必杀技
    复制也叫拷贝,这是我们每天不知要进行多少次的操作,但你真的用好它了吗?有时候,简单的复制操作也会遇到一些小麻烦:复制的文字变成了乱码、加密网页中的文章不能复制等,如何解......
  • CentOS上安装tree插件获取目录以及子目录下所有文件
    场景在部署系统时需要列出当前目录下以及各个子目录下所有的文件,方便排查文件路径等信息。也对整个项目的目录一目了然。插件安装yum-yinstalltree常用命令tr......
  • 【NX二次开发】获取当前Dll文件名
    获取当前Dll文件名//获取当前Dll文件名stringGetModuleDLLFileName(){charszBuff[1024]={0};HMODULEhModuleInstance=_AtlBaseModule.GetModuleInsta......
  • 通过修改HOSTS文件进行加速GITHUB
    第一步:获取github的global.ssl.fastly地址访问:http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo获取cdn和ip域名: 第二步:获取github.com地址访问:h......
  • 【python】subprocess 使用
    subprocess使用importsubprocessp=subprocess.Popen('ls-l',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,bufsize=1)bufsize:缓冲区大小.当......
  • electron 入门操作
    1.安装node.js2.指定淘宝镜像npminstall-gcnpm-registry=https://registry.npm.taobao.org3.创建项目文件夹cnpminit初始化项目4.安装electroncnpminstall--save-......
  • Docker的容器管理操作
    1、创建容器容器创建:就是将镜像加载到容器的过程。创建容器时如果没有指定容器名称,系统会自动创建一个名称。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发......
  • Python SQL 驱动程序 - pymssql
    PythonSQL驱动程序-pymssql前言pymssql官方地址:https://pypi.org/project/pymssql/一、下载pymssql不通的操作系统,不同的Python版本下载对应的pymssql注意:博主运......
  • python-面向对象三大特性
    python-面向对象三大特性封装继承多态封装'''封装 封装就是把类的属性和方法封装到类的内部,只能在内部使用,不能在类外部使用 把属性和方法前面加两个下划线,这......