- 1、用Python編程實現把任意兩個文本文件內容連接起來存進一個新文本文件中?
- 2、如何用python3連接mysql資料庫
- 3、如何使用Python3.4連接MySQL
- 4、Python中的with…as用法介紹
最簡單的思路就是把文件的內容從前兩個文件中讀出來寫入到新文件件。
大概這樣:
def fun_name(file1, file2, newfile):
with open(newfile, ‘w’) as f:
with open(file1,’r’) as f1:
for line in f1.lines:
f.writeline(line)
with open(file2,’r’) as f2:
for line in f2.lines:
f.writeline(line)
當然這只是最簡單粗爆的實現方式, 代碼還可以再優化,可以寫的更優優雅,復用性更強,想進一步學習python編程可以關注我,我會盡量抽是間回答大家的問題。
在 Python 語言環境下我們這樣連接資料庫。
In [1]: from mysql import connector
In [2]: cnx = connector.connect(host=”172.16.192.100″,port=3306,user=”appuser”,password=”xxxxxx”)
但是連接資料庫的背後發生了什麼呢?
答案
當我們通過驅動程序(mysql-connector-python,pymysql)連接 MySQL 服務端的時候,就是把連接參數傳遞給驅動程序,驅動程序再根據參數會發起到 MySQL 服務端的 TCP 連接。當 TCP 連接建立之後驅動程序與服務端之間會按特定的格式和次序交換數據包,數據包的格式和發送次序由 MySQL 協議 規定。MySQL 協議:整個連接的過程中 MySQL 服務端與驅動程序之間,按如下的次序發送了這些包。
MySQL 服務端向客戶端發送一個握手包,包里記錄了 MySQL-Server 的版本,默認的授權插件,密碼鹽值(auth-data)。
2. MySQL 客戶端發出 ssl 連接請求包(如果有必要的話)。
3. MySQL 客戶端發出握手包的響應包,這個包時記錄了用戶名,密碼加密後的串,客戶端屬性,等等其它信息。
4. MySQL 服務端發出響應包,這個包里記錄了登錄是否成功,如果沒有成功也會給出錯誤信息。
如何使用Python3.4連接MySQL
MySQLdb只支持Python2.*,還不支持3.*
可以用PyMySQL代替。安裝方法:pip install PyMySQL
然後在需要的項目中,把 __init__.py中添加兩行:
import pymysql
pymysql.install_as_MySQLdb()
就可以用 import MySQLdb了。其他的方法與MySQLdb一樣。
這篇文章主要介紹了Python中的with…as用法介紹,本文直接給出用法實例,需要的朋友可以參考下
這個語法是用來代替傳統的try…finally語法的。
代碼如下:
with
EXPRESSION
[
as
VARIABLE]
WITH-BLOCK
基本思想是with所求值的對象必須有一個__enter__()方法,一個__exit__()方法。
緊跟with後面的語句被求值後,返回對象的__enter__()方法被調用,這個方法的返回值將被賦值給as後面的變數。當with後面的代碼塊全部被執行完之後,將調用前面返回對象的__exit__()方法。
代碼如下:
file
=
open(“/tmp/foo.txt”)
try:
data
=
file.read()
finally:
file.close()
使用with…as…的方式替換,修改後的代碼是:
代碼如下:
with
open(“/tmp/foo.txt”)
as
file:
data
=
file.read()
#!/usr/bin/env
python
#
with_example01.py
class
Sample:
def
__enter__(self):
“In
__enter__()”
return
“Foo”
def
__exit__(self,
type,
value,
trace):
“In
__exit__()”
def
get_sample():
return
Sample()
with
get_sample()
as
sample:
“sample:”,
sample
執行結果為
代碼如下:
In
__enter__()
sample:
Foo
In
__exit__()
1.
__enter__()方法被執行
2.
__enter__()方法返回的值
–
這個例子中是”Foo”,賦值給變數’sample’
3.
執行代碼塊,列印變數”sample”的值為
“Foo”
4.
__exit__()方法被調用with真正強大之處是它可以處理異常。可能你已經注意到Sample類的__exit__方法有三個參數-
val,
type
和
trace。這些參數在異常處理中相當有用。我們來改一下代碼,看看具體如何工作的。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127259.html