参考资料:
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. Thanks! "); 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")