python----文件I/O

本章的内容就是对文件以及文件夹进行一些操作
比如:

  1. 打开文件(open)
  2. 读取文件(read)
  3. 写入文件(write)
  4. 关闭文件(close)..
  5. 创建文件夹(mkdir)
  6. 更改文件夹名称(rename)
  7. 删除文件夹(rmdir)
  8. 改变当前的目录chdir()

不同模式打开文件的完全列表

1.打开文件

file_object=open("D:\\Uses\\Python单词.docx",'a+')#这个文件的地址电脑上要有,如果
# 1.读取整个文件,讲文件放在一个字符串变量
# 2.如果文件大于可用内存,不可能使用这种处理
try:
    # 结果为字符串
    doc=file_object.read()
    print(type(doc))
    print("doc",doc)
finally:
    file_object.close()

执行行命令得

<class 'str'>
doc 

3.写入文件

在这里我先讲写入再讲读取 因为没有内容无法读取
Write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

Write()方法不在字符串的结尾不添加换行符(‘\n’):

在这里,被传递的参数是要写入到已打开文件的内容

# 打开一个文件
fo = open("/tmp/foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n");

# 关闭打开的文件
fo.close()#!/usr/bin/python

上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:

Python is a great language.
Yeah its great!!

2.读取文件

read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

例子:
就用我们上面创建的文件foo.txt

# 打开一个文件
fo = open("/tmp/foo.txt", "r+")
str = fo.read(10);
print "读取的字符串是: ", str
# 关闭打开的文件
fo.close()

执行命令得

读取的字符串是:  Python is

tell()

 tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后:
file = open('new.txt','r+')  
str=file.read(10)  
print('读取到的数据: ',str,'当前位置: ',file.tell())  
str=file.read(10)  
print('读取到的数据: ',str,'当前位置: ',file.tell())  
''''' 
输出为:  
读取到的数据:  Python is  当前位置:  10 
读取到的数据:  a great la 当前位置:  20 
''' 

4.关闭文件

File对象的close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。用close()方法关闭文件是一个很好的习惯

# 打开一个文件
fo = open("foo.txt", "wb")
print("文件名: ", fo.name)

# 关闭打开的文件
fo.close()

执行命令得

文件名:  foo.txt

5.创建文件夹

所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。
可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
下例将在当前目录下创建一个新目录test。

import os#引入os

# 创建目录test
os.mkdir("test")

6.更改文件夹

可以使用os模块的rename()方法在当前目录下创建文件夹进行操作
下例将在当前文件夹进行更改

import os

os.rename('foot.txt','park.txt')
print('成功')

7.删除文件夹

rmdir()方法删除目录,目录名称以参数传递。在删除这个目录之前,它的所有内容应该先被清除。
remove()方法删除文件,需要提供要删除的文件名作为参数

import os
import os  

os.rmdir('new_file/输入流')  #这是逐级删除  /   表示分割 
os.remove('park.txt')

8.改变当前的目录chdir()

chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。

getcwd()

    getcwd()方法显示当前的工作目录
import os  
print('当前目录: ',os.getcwd())  
os.chdir('./new_file')   #  .  点代表当前目录  
print('当前目录: ',os.getcwd())  
''''' 
输出为: 
当前目录:  D:\python07\python高级 
当前目录:  D:\python07\python高级\new_file 

猜你喜欢

转载自blog.csdn.net/weixin_42067855/article/details/80459130