Python基础学习笔记(十二)文件I/O

时间:2023-02-14 23:39:04

  参考资料:

  1. 《Python基础教程》

  2. http://www.runoob.com/python/python-files-io.html

 

  ▶ 键盘输入

  注意raw_input函数和input函数的区别。

  raw_input函数使用实例:

#!/usr/bin/python

str
= raw_input("Input your string: ");
print "This is your input string: ", str

 

  input函数使用实例:

#!/usr/bin/python

str
= input("Input your string: ");
print "This is your input string : ", str

 

  ▶ 打开和关闭文件

  open函数用于打开一个文件,创建一个file对象。

  语法如下:

file object = open(file_name [, access_mode][, buffering])

  其中,access_mode的完全列表如下:

模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

  关于buffering,如果其值为0,不会有寄存。如果为1,会寄存。其它大于1的值,表示缓冲区的大小。负值,则寄存区的缓冲大小为系统默认。

 

▶ File对象

  file对象相关的属性列表如下:

属性 描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

   

  写文件实例:

#!/usr/bin/python
#
-*- coding: UTF-8 -*-
test = open("/test/test.txt", "wb")
test.write(
"This is a test.\nThanks!\n");

fo.close()

  

  读文件实例:

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

# 打开文件
test = open("/test/test.txt", "r+")
str
= test.read(10);
print "The string is : ", str

# 查找当前位置
position = test.tell();
print "Current file position : ", position

# 重定位指针到文件开头
position = test.seek(0, 0);
str
= test.read(10);
print "The string is : ", str
# 关闭打开的文件
fo.close()

 

  重命名文件实例(重命名test1.txt为test2.txt):

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

# 重命名文件test1.txt为test2.txt。
os.rename( "test1.txt", "test2.txt" )

  

  删除文件实例(删除刚才的test2.txt):

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

# 删除文件test2.txt
os.remove("text2.txt")

 

  ▶ 目录

  创建目录实例:

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

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

 

  改变当前目录(类同cd命令):

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

# 将当前目录改为"/home/test2"
os.chdir("/home/test2")

  

  得到当前工作目录实例:

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

# 获取当前工作目录
str = os.getcwd()

 

  删除目录实例: 

#!/usr/bin/python
#
-*- coding: UTF-8 -*-

import os

# 删除”/home/x-man/test”目录
os.rmdir("/home/x-man/test")