Python模块与文件读写

模块与包

导入模块时Python的操作

当程序导入一个模块时,Python解析器对模块位置的搜索顺序为:

  1. 当前目录
  2. 若当前目录搜索不到,Python则搜索在shell变量PYTHONPATH下的每个目录。
  3. 若都找不到,Python会察看默认路径。UNIX下,默认路径一为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的sys.path 变量中。变量里包含当前目录、PYTHONPATH和由安装过程决定的默认目录。

模块常用函数

1、dir()——列出对象的所有属性和方法。dir() 函数返回一个排好序的字符串列表,内容是一个模块里定义过的名字。返回的列表容纳了在一个模块里定义的所有模块变量函数

2、help()——查看类、方法的帮助信息

3、_name_ ——模块的名称

4、_file_ ——文件全路径

文件读写

open函数及其他基本操作

Python使用open()打开文件,并返回文件的一个句柄。具体的参数为文件句柄 = open(‘文件路径’,打开模式, 编码方式)。其中编码方式encoding如果没有指定,将采用系统自带的编码方式。

1
2
3
4
5
f = open('aa.txt')
print(f)
f.close()
####################################################
<_io.TextIOWrapper name='aa.txt' mode='r' encoding='cp936'>

由以上输出可以看到,没指定打开模式时文件默认为只读模式(r),这时使用写入操作就会出错,常用的文件打开方式主要有以下几个。

1、r,只读的方式打开(文件必须存在,若文件不存在会抛出异常)。文件以什么编码写就以什么编码打开。

2、w,只写模式(文件不可读,若文件不存在,则创建一个新的文件,如果文件存在,则会清空里面的内容)

3、a,只追加写的模式 (文件不可读,不存在则创建新的文件,文件存在的话,可在后面追加内容)

4、b,对于非文本的文件,使用b的模式。’b’表示以字节的方式进行操作 如:rb,wb,ab 分别对应以上内容,如果以b的方式打开,读取到的内容是字节类型

1
2
3
4
5
6
# aa.txt文件中为一行字符串“hello world!”
f = open('aa.txt', mode='rb')
print(f.read())
f.close()
####################################
b'hello world!'

5、’+‘模式,r+: 读写模式 w+:写读模式 a+:写读模式。在 r+ 模式下,应该先读,后写,如果先写,后读,同样的道理,光标移动到了文件末尾,将读取不到内容。

同时使用open打开了一个文件操作完成后必须进行关闭,关闭文件使用close()。由于文件操作的这一性质,可以使用with关键字进行操作,如下:

with 上下文管理器(到达语句末尾,将自动关闭文件)

1
2
with open("*.txt") as f
pass

与文件读写相关的一些功能函数

1、读取文件的操作

1
2
3
4
5
6
# 读取文件,可以输入读取几个字符
read()
# 读取一行数据,也可以读取参数
readline()
# 读取所有行,并返回列表,之后可以通过对列表进行遍历得到数据
readlines()

2、写入文件的操作

1
2
3
4
# 向文件中写入内容
write()
# 输入一个列表,将列表内容分别写入
wirtelines([])

3、其他操作(文件定位操作)

tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后。

seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2019-2021 子夜
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信