想法简友广场

python基础——file读取和操作小记

2020-03-18  本文已影响0人  刘年

1、读取文件

for line in f.readlines():
    print(line.strip()) # 把末尾的'\n'删掉
>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore')

2、StringIOh和BytesIO

StringIO顾名思义就是在内存中读写str。
BytesIO与StringIO类似,不做说明

>>> from io import StringIO
>>> f = StringIO()
>>> f.write('hello')
5
>>> f.write(' ')
1
>>> f.write('world!')
6
>>> print(f.getvalue())
hello world!
>>> from io import StringIO
>>> f = StringIO('Hello!\nHi!\nGoodbye!')
>>> while True:
...     s = f.readline()
...     if s == '':
...         break
...     print(s.strip())
...
Hello!
Hi!
Goodbye!

StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。

4、操作文件和目录

# 查看当前目录的绝对路径:
>>> os.path.abspath('.')
'/Users/michael'
# 在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:
>>> os.path.join('/Users/michael', 'testdir')
'/Users/michael/testdir'
# 然后创建一个目录:
>>> os.mkdir('/Users/michael/testdir')
# 删掉一个目录:
>>> os.rmdir('/Users/michael/testdir')

两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符

part-1\part-2

同样的道理,要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名

>>> os.path.split('/Users/michael/testdir/file.txt')
('/Users/michael/testdir', 'file.txt')

os.path.splitext()可以直接让你得到文件扩展名,

>>> os.path.splitext('/path/to/file.txt')
('/path/to/file', '.txt')
上一篇下一篇

猜你喜欢

热点阅读