美文网首页
文件操作

文件操作

作者: 想旅游的程序员 | 来源:发表于2018-07-27 19:26 被阅读0次

文件的操作

  • 系统中的文件:

     1.文本文件:记事本打开不会出现乱码的文件
     2.二进制文件:记事本打开会乱码的文件! 
    

python怎么操作系统文件?

直接操作文件(和操作系统交互),用到一个模块:os(Operation System)
【扩展:和程序命令交互{python解释器}用到一个模块:sys(system)】
  • 数据的操作【文件也是一种数据】

操作实例:
1、创建文件夹、文件:创建文件夹(mkdir、makedirs)

mkdir:创建一个目录,可以是相对或者绝对路径。,如果目录有多级,则创建最后一级,如果最后一级目录的上级目录不存在,会抛出一个error
makedirs:递归创建目录。如果子目录创建失败或者已经存在,会抛出一个Error。
创建文件(open为独立的函数)
格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
========================================================================
Character Meaning
------------------------------------------------------------------------
'r'       open for reading (default)
'w'       open for writing, truncating the file first
'x'       create a new file and open it for writing
'a'       open for writing, appending to the end of the file if it exists
'b'       binary mode
't'       text mode (default)
'+'       open a disk file for updating (reading and writing)
'U'       universal newline mode (deprecated)
=======================================================================
r:打开和读取(默认)
w:向文件内写入,并覆盖原来的内容
x:创建新的文件和打开
a:向文件内追加内容
b:二进制格式
t:txt格式
+: 打开磁盘文件进行更新(读写)
U: 通用换行符模式(已弃用)       

2、重命名文件夹:

rename(“源文件名称”,“要修改的名称”)
可以更改名称
renames(“源文件名称”,“要修改的名称”)
(rename的升级)既可以修改名称,还可以修改上一级文件夹的名称        

3、删除文件或者文件夹:

remove    删除一个文件
removedirs  递归删除文件夹,如果你的最后一层文件夹为空,他会逐步删除每个空的父文件夹
rmdir()     方法用于删除指定路径的目录。仅当这文件夹是空的才可以

4、遍历某个文件夹(listdir):

import os
# 查看某个文件夹下所有文件
# f_list = os.listdir('D:/360驱动大师目录')
# print(f_list)
def chk_files(s_path):
      if os.path.isfile(s_path):    
           print("这是一个文件:", s_path)                
      if os.path.isdir(s_path):       
           print("这是个一个文件夹", s_path)
f_list = os.listdir(s_path)
for file in f_list:    
     chk_files(s_path + "/" + file)        

5.查看文件信息

getctime()       #输出文件创建时间指的是
creat时间getatime()       #输出最近访问时间指的是access访问时间
getmtime()      #输出最近修改时间指的是modify时间
getsize()          #输出文件大小(字节为单位)直接

操作二进制文件

和操作文本文件基本无错。将操作模式mode 后面加上"b"“例:“r”->“rb”,“w”->“wb”等

注意:如果要操作二进制文件,read()要慎重使用,不要直接read(),容易造成整个二进制文件被读入内存,造成内存溢出。操作时,要给read()添加每次要读取一定数量的数据

  • 读取文件数据的步骤:

      打开文件(open)->读取数据(read)->展示数据(print)->关闭文件(close)
    
  • 向文件内写入数据的步骤:

      打开文件(open)->定义数据->写入数据(write)->关闭文件
    
  • 文件的拷贝:

      分别打开源文件和目标文件(open)->读取源文件(read)写入目标文件(write)->分别关闭两个文件        
    

【扩展】1.with语句操作文件:快捷处理方式(能够实现文件的自动关闭,简化对文件的操作步骤)

users = "hello world"                        #定义字符串(当users是字典的时候无法实现,要使用json和pickle)
with open ("one.txt","wb") as f:                
 f.write(users)                           #写入文件

【扩展】2.系统标准库json,可以对程序中的数据进行转换

user = {
    admin:{
        "username":"admin",
        "password":"123",
        "nickname":"五五开"
    }
}
通过json进行转换
import json

#1.类型转换操作
#将一个字典数据->字符串数据【json字符串】
json_str = json.dumps(users)
print(type(json_str),json_str)
#将一个json字符串数据,转换成json对象【其他语言】(字典dict)
json_obj = json.loads(json_str)
print(type(json_obj),json_obj)
#2.类型转换的同时操作文件
#json的方式,将程序中的【变量、列表、集合、字典】写入到文件中
json.dump(users,open("d2.txt","w"))
#json的方式,将文件中的数读取到程序中
data = json.load(open("d2.txt"))

【扩展】3.pickle程序中的数据和文件之间的交互,一般通过二进制操作

import pickle
user = {
    admin:{
        "username":"admin",
        "password":"123",
        "nickname":"五五开"
    }
}
#二进制操作方式,将数据存储到文件中
pickle.dump(users,open("d3.txt","wb"))

#二进制操作方式,读取数据文件
data.pickle.load(open("d3.txt","rb"))
print(data)



相关文章

  • 文件操作

    文件操作 目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思...

  • 文件和目录处理相关

    文件和目录处理相关 题: 考点:文件操作/写入操作; 延伸:目录操作函数,其他文件操作; 文件读写操作 文件系统函...

  • 09-文件操作

    一、文件操作流程 a.普通文件操作流程: 打开文件 操作文件 关闭文件 b. json文件操作流程: open(文...

  • VBS文件操作

    VBS文件操作'操作文本文件,操作fso对象(文件对象操作) --------------------------...

  • 文件操作

    文件操作:打开文件、读写文件、操作文件内容 写入文件操作:(把大象装入冰箱)1.打开文件 ...

  • 类的补充

    一.复习 1.文件操作a.操作流程:打开文件(open),操作文件,关闭文件with open() as 文件变量...

  • 文件

    目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思考:什么是...

  • 16总 正则表达式

    复习: 1.文件操作a.操作流程: 打开文件(open) --- 操作文件 --- 关闭文件(close)with...

  • 2018-09-10

    01-recode 1.文件操作a.操作流程:打开文件---》操作文件----》关闭文件with open() ...

  • 2018-09-10 day16总结

    1.文件操作 a.操作流程:打开文件(open)-操作文件-关闭文件(close)with open() as 文...

网友评论

      本文标题:文件操作

      本文链接:https://www.haomeiwen.com/subject/fuggmftx.html