Python/ target=_blank class=infotextkey>Python文件操作和读写操作
Python文件读写模式
r,只读方式打开,必须确保文件存在,否则报错。
w,写入方式打开,如果文件存在会清空,不存在会创建。
a,追加方式打开,如果不存在会创建,追加写入。
r+,可读可写,如果不存在会报错,会覆盖。
w+,可读可写,如果不存在会创建,会覆盖。
a+,可读可写,如果不存在会创建,不会覆盖,追加写入。
Python文件I/O,操作方法
1、OS对象方法: 提供了处理文件及目录的一系列方法。
2、File对象方法: file对象提供了操作文件的一系列方法。
案例代码1:
import os
#重命名文件
os.rename("d:/001.html", "d:/002.html")
os.rename("d:/002.html", "d:/001.html")
#删除文件
os.remove("d:/001.html")
#当前的工作目录
print(os.getcwd())
#创建新的目录
os.mkdir("d:/newdir")
os.mkdir("d:/newdir2")
#删除目录
os.rmdir('d:/newdir2')
案例代码2,读取文件:
#读取文件
file = open('d:/001.html','r+', encoding='utf-8')
for line in file:
print(line,end='')
file.close()
#读取文件
with open('d:/001.html','r+', encoding='utf-8') as file:
for line in file:
print(line, end='')
#读取文件
def read_file(filename):
with open(filename,'a+',encoding='utf-8') as fr:
fr.seek(0)
content = fr.read()
print('content:',content)
read_file('d:/001.html')
#读取文件
def file_operation():
with open('d:/001.html', mode='r',encoding='utf-8') as f:
# f.write('abc')
r = f.readlines()
print(r)
file_operation()
案例代码2,写入文件:
#写入文件
f1 = open("d:/002.html","w", encoding='utf-8')
f1.write('这是写入的内容')
f1.close()
#写入文件
f2 = open("d:/003.html","a", encoding='utf-8')
f2.write('这是写入的内容')
f2.close()
#写入文件(字节)
f3 = open("d:/004.html",'wb+')
bts=bytes('这是写入的内容','utf-8')
f3.write(bts)
f3.close()
Python网络编程与TCP通信
TCP通信代码案例
server.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
serversocket = socket.socket(socket.AF_.NET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 绑定端口号
serversocket.bind((host, port))
# 设置最大连接数,超过后排队
serversocket.listen(5)
while True:
# 建立客户端连接
clientsocket, addr = serversocket.accept()
print("连接地址: %s" % str(addr))
msg = '欢迎访问服务器端!' + "rn"
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
client.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口好
port = 9999
# 连接服务,指定主机和端口
s.connect((host, port))
# 接收小于 1024 字节的数据
msg = s.recv(1024)
s.close()
print (msg.decode('utf-8'))
requtests模块访问HTTP
安装:python -m pip install requests
# python -m pip install requests
import requests
# 访问网页
r = requests.get("http://www.baidu.com")
# 查看状态码,状态码为200表示访问成功
print(r.status_code)
# 更改编码为
r.encoding = 'utf-8'
# 打印网页内容
print(r.text)
print(r.content)
def getHTMLText(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
print(r.Apparent_encoding)
r.encoding = r.apparent_encoding
return r.text
except:
return "产生异常"
if __name__ == "__main__":
url = "http://www.baidu.com"
print(getHTMLText(url))