python基础-10-文件操作

悠悠 2022-06-06 09:50 332阅读 0赞

1.文件的输入输出

  1. #1.打开文件 open 函数
  2. open(file,[option])
  3. #file 是要打开的文件
  4. #option是可选择的参数,常见有 mode 等
  5. #2.文件的打开模式
  6. r 只读模式,文件不存在时会报错。
  7. w 写入模式,文件存在会清空之前的内容,文件不存在则会新建文件。
  8. x 写入模式,文件存在会报错,文件不存在则会新建文件。
  9. a 追加写入模式,不清空之前的文件,直接将写入的内容添加到后面。
  10. b 以二进制模式读写文件,wb,rb,ab
  11. + 可读写模式,r+,w+,x+,a+,这几种模式还遵循了r,w,x,a的基本原则。
  12. f=open("test.txt","r")
  13. f=open("test.txt","w") #相对路径
  14. f=open("test.txt","x")
  15. f=open(r"E:\learn\test.txt","w") #绝对路径,r关键字转义
  16. f=open("E:\\learn\\test.txt","w") #绝对路径 ,双斜杠转义
  17. #3.文件的读取
  18. ''' #内容 aaabbb 人生苦短,我用Python #编码 f=open("test.txt","r+") #加上+号,可以读的权限 f.read() #Python读文件,读完需要重置光标或者重新打开一次文件 '''
  19. f.read(size) #读取文件的内容,将文件的内容以字符串形式返回。
  20. '''size是可选的数值,指定字符串长度,如果没有指定size或者指定为负数,就会读取并返回整个文件。当文件大小为当前机器内存两倍时就会产生问题,反之就尽可能大的size读取和返回数据,如果到了文件末尾,会返回空字符串。 '''
  21. >>> f.read(2)
  22. 'aa'
  23. f.readline() #从文件中读取单独一行。
  24. '''字符串结尾会自动加上一个换行符\n,只有当文件最后没有以换行符结尾时,这一操作才会被忽略,这样返回值就不会有混淆。如果返回空字符串,表示到达率文件末尾,如果是空行,就会描述为\n,一个只有换行符的字符串。 '''
  25. >>> f.readline()
  26. 'aaabbb\n'
  27. >>> f.readline()
  28. '人生苦短,我用Python'
  29. f.readlines() #一次读取所有,返回一个列表,列表的元素为文件行的内容。
  30. '''可以通过列表索引的方式将文件的每一行的内容输出。 可以通过for循环迭代输出每一行的信息。'''
  31. >>> f.readlines()
  32. ['aaabbb\n', '人生苦短,我用Python']
  33. #4.文件的写入
  34. f.write() #将要写入的内容以字符串的形式通过write方法写入文件中。
  35. ''' >>> f=open("test.txt","w+") >>> f.write("test") 4 >>> f.flush() '''
  36. f.writelines() #括号里必须是由字符串元素组成的序列。
  37. ''' >>> f=open("test.txt","w+") >>> li=["life","is","short",",you","need","python"] >>> f.writelines(li) >>> f.flush() >>> f.read() '' >>> f.seek(0) 0 >>> f.read() 'lifeisshort,youneedpython' '''
  38. #5.保存和关闭
  39. f.flush()
  40. #在读写模式下,当写完的数据想要读取出来时,要先缓存区的内容保存到文件当中。
  41. f.close()
  42. #关闭文件。对一个已经关闭的文件进行操作会报错。
  43. #6.光标位置
  44. f.tell() #返回光标在文件中的位置。
  45. >>> f.tell() #查看当前,光标所在位置
  46. 28
  47. f.seek(offset,from) #常用 f.seek(0) 返回起始位置
  48. >>> f.seek(0) #汉字占用两个字节,英文一个字节
  49. 0
  50. #在文件中移动文件指针,从from(0代表起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节。
  51. # 常用 f.seek(0,0) 返回起始位置。 其他了解一下
  52. >>> f.seek(0,0) #回到起始位置
  53. 0
  54. #7.查看文件信息
  55. closed #查看文件是否已经关闭,返回布尔值。
  56. >>> f.closed
  57. False
  58. mode #返回文件打开模式。
  59. >>> f.mode
  60. 'w+'
  61. name #返回文件名。
  62. >>> f.name
  63. 'test.txt'
  64. encoding #编码格式
  65. >>> f.encoding
  66. 'cp936'
  67. #8.with 形式打开文件,里面的语句执行完后会自动关闭文件
  68. with open('文件名') as f:
  69. f.read()
  70. ''' #扩展操作 >>> with open("test.txt","w+") as f: f.write("哈哈") #无需flush,自动关闭IO 2 '''

2.异常语法

  1. #打开shell,按F1查看帮助文档
  2. try:
  3. suite1 #测试语句块
  4. except exception1:
  5. suite2 #如果测试语句suite1中发生exception1异常时执行
  6. except (exception2,exception3):
  7. suite3 #如果测试语句suite1中发生元组中任意异常时执行
  8. except exception4 as reason: #as把异常的原因赋值给reason
  9. suite4 #如果测试语句suite1发生exception4的异常时执行
  10. except:
  11. suite5 #如果测试语句suite1发生异常在所列出的异常之外时执行
  12. else:
  13. suite5 #如果测试语句块suite1中没有发生异常时执行
  14. finally:
  15. suit6 #不管测试语句suite1中又没有发生异常都会执行
  16. ''' 注意:中间的except,else,finally都是可选的,但至少有一个,不然try就没有意义了,根据实际中的需求来选择。 所有错误类型都继承自BaseException https://docs.python.org/3/library/exceptions.html#exception-hierarchy '''
  17. ''' #coding: try: b%d ##except NameError:#参数未定义 ##except TypeError:#类型错误 except Exception:#异常基类,捕捉所有的异常 print("报错了") else:#代码没有报错会执行 print("没有错误") finally:#不管报不报错,都会执行 print("不管你报不报错,我都要执行") a=1 '''
  18. #注意:如果抛出父类异常,在子类不会再获取,如下:
  19. try:
  20. fun()
  21. except Exception as e:
  22. raise Exception
  23. except ImportError as e:
  24. raise ImportError
  25. finally:
  26. pass
  27. ''' 在上面的例子中,下面的ImportError就不会被抛出,应为ImportError继承Exception,但是可以把Exception放在后面是可以的 e可以得到系统给出的报错信息 '''
  28. ''' try: a=input("输入数字:") if a.isdigit(): print() else: raise TypeError except Exception:#异常基类,捕捉所有的异常 print("你输入错误") '''
  29. assert #断言
  30. ''' 测试表示式,其返回值为假,就会触发异常 '''
  31. assert 1==1 #没有返回值
  32. assert 1==2 #返回AssertionError
  33. ''' >>> assert 1>2 #断言,如果返回False就会报错 Traceback (most recent call last): File "<pyshell#82>", line 1, in <module> assert 1>2 AssertionError '''

发表评论

表情:
评论列表 (有 0 条评论,332人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python基础教程-文件操作

     一、文件操作       打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。 打开文件的模式有:

    相关 python基础文件操作

    文件操作有很多种   我们在这里可以大体分一下,文件的操作其实可以分为对文件整体的操作(创建文件,删除文件,重命名文件,获取文件属性)以及对文件内容的操作(修改文件内容)

    相关 python基础文件操作

    一、文件介绍 1、什么是文件 狭义说:文本文件;广义说:超文本文件, 图片,声音,超链接,视频。 2、文件的分类 文件大体上可以分为两类,文件文件和二进制文件。