Python学习笔记 —— 文件操作

掌握点:

  • 打印屏幕
  • 读取键盘输入
  • 读取&写入文件
  • 文件目录其他操作

打印屏幕

print方法,可以使用逗号(,)打印多个值
如:

 print '总数量',totalLines

读取键盘输入

1 .raw_input([’提示信息’])      :从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符)
str = raw_input(‘请输入信息’)
print str
2 .input([‘提示信息’])          :与raw_input有些区别,一般用于输入表达式,其相当于eval(raw_input(prompt))

区别与raw_input

1. raw_input所有输入都会当作字符串处理
2. input则是能够读取一个合法的python表达式,即你输入字符串的时候必须使用引号将它括起来,否则会出现格式错误。
3. input返回值是将表达式进行计算后的值
>>> str = input('this is a test:')
this is a test:'this is a test'
>>> print str
this is a test

读取&写入文件

1. 打开文件: 必须先使用open函数打开一个文件,创建file对象,相关的方法才可以调用它进行读写

open函数格式:

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

参数意义:

    1. file_name:   文件名称字符串
    2. 打开文件模式,读、写,只读、只写。。。默认情况下访问模式为只读。详情参附表
    3. buffering:如果设置为0便不会有寄存,如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是寄存区缓存大小,取负值则设为系统默认。

-

2. 读 read() :从一个打开的文件中读取一个字符串。注意,二进制也可

格式:

fileObject.read([count]);   

-

3. 写 write()    :可以将任何字符串写入一个打开的文件。注:二进制也可

-

4. 关闭文件 close() :方法刷新缓冲区里任何还没写入的信息,并关闭该文件,禁止其后操作;如果一个文件对象的引用被重新指定给另一个文件时,python会关闭之前的文件。

文件目录其他操作

文件定位

1 .tell()       :返回文件内的当前位置,下一次读写会发生在这一位置之后
2 .seek(offset[,from])  :方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    from = 0    :文件开头
    from = 1    :当前位置
    from = 2    :文件尾

例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
f = open('support.py','r+') #文件名可改
str = f.read(20)
print '当前的偏移:', f.tell()
print '读取字符串为:',str
f.seek(10,1)
print '当前的偏移:', f.tell()
str1 = f.read(20)
print '读取字符串为:',str1
f.write('this is a test 01 \n')
f.close()

重命名和删除文件【os模块】

1 .os.rename(currentFileName,newFileName)   :更改文件名
2 .os.remove(fileName)          :删除文件

3 .os.mkdir(‘newDir’)           :创建一个新目录
4 .os.chdir(‘newDir’)           :改变当前工作路径,如果你想要去其他目录打开一个文件,就先需要将当前工作路径转换掉才行
5 .os.getcwd()                  :获取当前目录
6 .os.rmdir(‘dirname’)          :删除目录
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
'''
f = open('nametest.txt','a+')
f.write('我是一个测试')
f.close
'''
#os.rename('hello.py','support.py')
#os.remove('nametest.txt')
#os.mkdir('testPython')
str = os.getcwd()
print ‘当前工作路径 :’,str

os.chdir('/Users/lee/Desktop')  #目录必须为一个已经存在的
str = os.getcwd()
print ‘当前工作路径 :’,str

f = open('task.txt','r')     # task在Desktop中
print f.read()
f.close()

其他相关操作参考:

File对象方法
OS对象方法


附:

打开文件模式

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

File对象的属性:当一个文件打开后你可以得到所有的文件属性:

file.closed : 文件是否被关闭
file.mode   : 返回访问模式
file.name   : 返回文件名称
file.softspace  : 末尾是否强制加了空格,则返回fase,否则返回true

小目标:传入一个文件或文件夹,判断,其中所有的文件中文字的个数
需要点:

1. 判断是否为文件或文件夹
2. 判断文件类型.m .h .txt
3. 循环遍历读取值,判断其行数量
4. 计算并输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值