python之学习文件输入输出笔记

ps:文件只是连续的字节序列;


一、 文件打开函数:open()

file_object= open(file_name,access_mode='r',buffering=-1)

参数分析:

file_name 是包含要打开的文件名称的字符串,可以是相对路径或绝对路径;

access_mode 也是一个字符串,代表文件打开的模式,选择有'r','w','a','u';

buffering 用于指定文件所采取的缓存方式。其中0代表不缓冲,1代表缓冲一行,大于1的值代表使用给定值座位缓冲区大小;不提供或者负值代表使用系统默认缓冲机制;

打开文件的例子:

fp = open ("index.html","r+")           #以读写方式打开

fp = open ("/etc/motd")                    #已读方式打开

fp = open ("index.html","w")           #以写方式打开

fp = open (r"c:\index.html","rb")     #以二进制读模式打开


二、  输入函数: 

read() 默认读取文件全部、readline() 默认读一行、readlines()读取所以剩余的行,然后将他们作为一个字符串列表返回;


三、  输出函数:write()、writelines()行结束符不会自动加入,如果需要,必须在writelines(钱给每行结尾加上结束符;


四、  文件迭代:  for eachLine in f:


五、  其他

close()  关闭文件

flush()   直接把内部缓冲区中的数据立刻写入文件

seek()   方法在文件内部移动

tell()       文件内当前的位置


六、  文件内建属性

1.   命令行参数

import sys   

sys.argv  是命令行参数的列表

len(sys.argv)  是命令行参数的个数


七、  例子

题目:文件访问,提示输入数字N和文件F,然后显示文件F的前N行。

#!/usr/bin/env python
import os
import string

filename = raw_input("enter file name:\n")
read_rows = raw_input("enter u look rows:\n")

t = int(read_rows)

path1 = "./cgi-bin/"
path1 = path1 + filename

f = open(path1 , "r+")

for i in range(0,t):
  fline = f.readline()
  print fline,

f.close()


题目:文件信息,提示输入一个文件名,然后显示这个文本文件的总行数

#!/usr/bin/env python

import os
import string


filename = raw_input("enter file name:\n")


path1 = "./cgi-bin/"
path1 = path1 + filename
f = open(path1 , "r+")
count = 1
for i in f:
  count = count + 1
print count
f.close()





你可能感兴趣的:(文件,输出,python,输入)