1 本地数据获取
1.1 文件处理步骤
- 打开文件
file_obj = open(filename,mode='r',buffering=-1)
- 读文件/写文件
file_obj.read() / file_obj.write()
- 关闭文件 (python)
file_obj.close()
1.2 文件的打开.
file_obj = open(filename,mode='r',buffering=-1)
- filename 是强制参数,后面两个是可选参数。
- mode的默认值为'r'
- buffering 默认值为-1 (0表示不缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小),为了加快读写速度,尽量使用缓冲
1.3 文件相关的函数
open()函数返回的一个文件file对象
文件对象可迭代
-
文件对象的关闭和读写
f.read()、f.write()、f.readline()、f.readlines()、f.writelines()
f.close()、 f.seek() 写文件-f.write() / 读文件-f.read()
其他读写函数 f.readlines() / f.readline() / f.writelines()
fileobj = open(r'H:\pythonTest1.txt')
cNames = fileobj.readlines()
print cNames
file_obj.close()
['line1\n', 'line2\n', 'line3'] 输出了文件中的所有行,包含换行符,如果要去除换行符,需要strip函数,python中读取和写入都不去除和加入换行符,要自己处理。
python中没有writeline方法,因为这个与write方法类似,都是写入单行
- 其他文件相关函数
file_obj.seek(offset,whence=0)
在文件中移动文件指针,从whence(0表示文件头部,1表示当前位置,2表示文件尾部)偏移offset个字节
whence参数可选,默认值为0
1.4 文件读写例子
打开一个文件,将每行的字符串加上序号1,2,3,然后写到另一个文件中。
f1 = open(r"H:\\companies1.txt")
cNames = f1.readlines() #读取文件中所有的行
for i in range(0,len(cNames)):
cNames[i] = str(i+1) + ' ' +cNames[i] #追加序号到每个字符串中
f1.close
f2 = open(r"H:\\companies3.txt",'w')
f2.writelines(cNames)
f2.close()