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))