I/O处理 #
本地I/O #
目录 #
创建目录
以下不支持多级目录,多级目录使用 makedirs
进行替换。
if not os.path.exists('files'):
os.mkdir('files')
改变当前工作目录
os.chdir('files')
遍历目录
entries = os.listdir('files')
for entry in entries:
print(entry)
文件 #
打开文件 #
file = open('test.txt', 'w', encoding='UTF-8')
文件模式
- w 只写
- x 写并创建文件
- r 只读(默认)
- a 追加
- b 二进制文件
-
- 可读可写
读取文件 #
读取全部
file = open('test.txt', 'r')
print('read:', file.read())
读取到列表中
lines = list(file)
print(lines)
按行读取
for line in file:
print(line)
写入文件 #
以下方法都需要自行追加换行
file = open('test.txt', 'w', encoding='UTF-8')
file.write('foobar')
file.write('world\n')
file.write('bye')
file.close()
判断文件是否存在
os.path.isfile('files/test.txt')
try…resources #
try:
with open('test.txt', 'r') as f:
for line in f:
print(line)
except OSError:
print('OSError occurs')
else:
print('end read')
网络I/O #
http #
import urllib.request
resp = urllib.request.urlopen('https://www.github.com')
html = resp.read()
print(html.decode('utf-8'))