Wendy ssm 金融信贷 concurrency Pure CSS 支付网站建设 河南普通话考试报名官网 jq延时 jquery事件绑定 idea大小写转换快捷键 base64转16进制 pip环境变量 ai如何导出矢量图 SketchUp python迭代 python加法 python中文文档 python抛出异常 python变量类型 windows安装python环境 python正则表达式语法 python写入txt文件 java入门编程 java接口实现 java实用教程 java基础编程 java如何配置环境变量 linux系统安装教程图解 俄罗斯方块c语言代码 java核心技术 系统维护工具 编程语言实现模式 qq钱包实名认证 pr怎么放大视频画面 上单塞拉斯 网页自动点击 企业路由器设置 ucs怎么用 xr卡槽 mysql嵌套查询
当前位置: 首页 > 学习教程  > python

Python学习 Day11 文件的读写原理(2)

2021/2/6 22:21:36 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

文件的读写原理(2) (一)文件对象的常用方法 read([size]):从文件中读取size个字节或字符的内容返回,若省略size,则读取到文件末尾readline():从文本文件中读取一行字符readlines()&#xff1a…

文件的读写原理(2)

(一)文件对象的常用方法

  1. read([size]):从文件中读取size个字节或字符的内容返回,若省略size,则读取到文件末尾
  2. readline():从文本文件中读取一行字符
  3. readlines():把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
  4. write(str):将字符串str写入文件
  5. writelines(s_list):将字符串列表s_list写入文本文件,不添加换行符
  6. seek(offset[,where]):把文件指针移动到新的位置,offset表示相对于where的位置
  • offset:为正往结束方向移动,为负往开始方向移动
  • where(0):从文件头开始结算(默认值)
  • where(1):从当前位置开始计算
  • where(2):从文件尾开始计算

  • 7.tell():返回文件指针的当前文件
    8.flush():把缓冲区的内容写入文件,但不关闭文件
    9.close():把缓冲区的内容写入文件,同时关闭文件,释放文件中相关资源

file=open('a.txt','r')
#print(file.read(2)) #读取两个字符  世界
#print(file.readline()) #读取一行  世界
#print(file.readlines()) #读取全部内容,以列表方式输出  ['世界\n', '中国']

file=open('a.txt','a')
#file.write('hello')
lst=['java','python','go']
file.writelines(lst)
file.close()
file=open('a.txt','r')
file.seek(2)
print(file.read())
file.close()
界
中国javapythongo

Process finished with exit code 0
file=open('a.txt','r')
file.seek(2)
print(file.read())
print(file.tell())
file.close()
界
中国javapythongo
22

Process finished with exit code 0

(二)with语句(上下文管理器)

  • with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此达到资源释放的目的
  • 语法:
  • with open(‘filename’,‘file_op’) as src_file:

with open('logo.png','rb') as src_file:
    with open('copy2logo.png','wb') as target_file:
        target_file.write(src_file.read())

(三)OS模块的常用函数

  • OS模块是Python内置的与操作系统功能和文件系统功能相关的模块,该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样
  • OS模块与os.path模块用于对目录或文件进行操作

#os模块是与操作系统相关的一个模块
import os
#os.system('notepad.exe') #打开记事本
#os.system('calc.exe')    #打开计算器
#直接调用可执行文件
os.startfile('C:\\Program Files (x86)\\Tencent\\QQ\\Bin\\qq.exe')

  • OS模块操作目录相关函数
  • 1.getwd():返回当前的工作目录
  • 2.listdir():返回指定路径下的文件和目录信息
  • 3.mkdir(path[,mode]):创建目录
  • 4.makedirs(path1/path2…):创建多级目录
  • 5.rmdir():删除目录
  • 6.removedirs():删除多级目录
  • 7.chdir(path):将path设置为当前工作目录
import os
print(os.getcwd())

lst=os.listdir('../chap15') #返回该路径下的全部文件和目录信息
print(lst)

#os.mkdir('new_dir2')
#os.makedirs('A/B/C') #创建多级目录

#os.rmdir('new_dir2') #删除目录
#os.removedirs('A/B/C')

(四)os.path模块

  • 1.abspath(path):用于获取文件或目录额绝对路径
  • 2.exist(path):用于判断文件或目录是否还存在,如果存在则返回True,否则返回False
  • 3.join(path,name):将目录与目录或文件名连接起来
  • 4.splitext():分离文件名和扩展名
  • 5.basename(path):从一个目录中提取文件名
  • 6.dirname(path):从一个路径中提取文件路径,不包括文件名
  • 7.isdir(path):用于判断是否为路径

import os.path
print(os.path.abspath('demo13.py'))
print(os.path.exists('demo3.py'),os.path.exists('demo18.py')) #True False
print(os.path.join('E:\\python','demo13.py')) #E:\python\demo13.py
print(os.path.split('E:\\vippython\\chap15\\demo13.py')) #('E:\\vippython\\chap15', 'demo13.py')
print(os.path.splitext('demo13.py')) #('demo13', '.py')
print(os.path.basename('E:\\vippython\\chap15\\demo13.py')) #demo13.py
print(os.path.dirname('E:\\vippython\\chap15\\demo13.py')) #E:\vippython\chap15
print(os.path.isdir('E:\\vippython\\chap15\\demo13.py')) #False

#列出指定目录下的所有py文件
import os
path=os.getcwd()
lst=os.listdir(path)
for filename in lst:
    if filename.endswith('.py'):
        print(filename)
demo1.py
demo10.py
demo11.py
demo12.py
demo13.py
demo14.py
demo15.py
demo16.py
demo2.py
demo3.py
demo4.py
demo5.py
demo6.py
demo7.py
demo8.py
demo9.py
__init__.py

Process finished with exit code 0

import os
path=os.getcwd()
lst_files=os.walk(path)
for dirpath,dirname,filename in lst_files:
    print(dirpath)
    print(dirname)
    print(filename)
    print('----------------------------------------')
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15
['new_dir']
['a.txt', 'b.txt', 'copy2logo.png', 'copylogo.png', 'demo1.py', 'demo10.py', 'demo11.py', 'demo12.py', 'demo13.py', 'demo14.py', 'demo15.py', 'demo16.py', 'demo17.py', 'demo2.py', 'demo3.py', 'demo4.py', 'demo5.py', 'demo6.py', 'demo7.py', 'demo8.py', 'demo9.py', 'logo.png', 'logp.png', '__init__.py']
----------------------------------------
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\new_dir
['sub']
['1.py', '2.py']
----------------------------------------
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\new_dir\sub
[]
['sub1.py']
----------------------------------------

Process finished with exit code 0

import os
path=os.getcwd()
lst_files=os.walk(path) #遍历指定目录下的所有文件和目录
for dirpath,dirname,filename in lst_files:
    for dir in dirname:
        print(os.path.join(dirpath,dir))
    for file in filename:
        print(os.path.join(dirpath,file))
C:\Users\asus\Desktop\Education_Python\venv\Scripts\python.exe C:/Users/asus/Desktop/Education_Python/venv/基础语法/chap15/demo17.py
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\new_dir
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\a.txt
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\b.txt
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\copy2logo.png
C:\Users\asus\Desktop\Education_Python\venv\基础语法\chap15\copylogo.p
...................

本文链接: http://www.dtmao.cc/news_show_2000022.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?