真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python操作sqlserver的簡(jiǎn)單介紹

Python 操作 MySQL 的5種方式

1、MySQLdb

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、高郵ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的高郵網(wǎng)站制作公司

# 前置條件

sudo apt-get install python-dev libmysqlclient-dev # Ubuntu

sudo yum install python-devel mysql-devel # Red Hat / CentOS

# 安裝

pip install MySQL-python

Windows 直接通過(guò)下載 exe 文件安裝

#!/usr/bin/python

import MySQLdb

db = MySQLdb.connect(

host = "localhost", # 主機(jī)名

user = "root", # 用戶名

passwd = "pythontab.com", # 密碼

db = "testdb") # 數(shù)據(jù)庫(kù)名稱

# 查詢前,必須先獲取游標(biāo)

cur = db.cursor()

# 執(zhí)行的都是原生SQL語(yǔ)句

cur.execute("SELECT * FROM mytable")

for row in cur.fetchall():

print(row[0])

db.close()

2、mysqlclient

# Windows安裝

pip install some-package.whl

# linux 前置條件

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

brew install mysql-connector-c # macOS (Homebrew)

pip install mysqlclient

3、PyMySQL

pip install PyMySQL

# 為了兼容mysqldb,只需要加入

pymysql.install_as_MySQLdb()

import pymysql

conn = pymysql.connect(host = '127.0.0.1', user = 'root', passwd = "pythontab.com", db = 'testdb')

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")

for r in cur:

print(r)

cur.close()

conn.close()

4、peewee

pip install peewee

import peewee

from peewee import *

db = MySQLDatabase('testdb', user = 'root', passwd = 'pythontab.com')

class Book(peewee.Model):

author = peewee.CharField()

title = peewee.TextField()

class Meta:

database = db

Book.create_table()

book = Book(author = "pythontab", title = 'pythontab is good website')

book.save()

for book in Book.filter(author = "pythontab"):

print(book.title)

5、SQLAlchemy

from sqlalchemy import create_engine

from sqlalchemy.orm import sessionmaker

from sqlalchemy_declarative import Address, Base, Person

class Address(Base):

__tablename__ = 'address'

id = Column(Integer, primary_key = True)

street_name = Column(String(250))

engine = create_engine('sqlite:///sqlalchemy_example.db')

Base.metadata.bind = engine

DBSession = sessionmaker(bind = engine)

session = DBSession()

# Insert a Person in the person table

new_person = Person(name = 'new person')

session.add(new_person)

session.commit()

python怎樣實(shí)現(xiàn)sqlserver備份

用python是非常方便的,非常方便就能備份mysql和sqlserver,

下面我們來(lái)具體看看如何用:

#coding=gbk

import os

import time

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams E:/mysqldack/xdreams/xdreamsfdfdf.txt")

上面就成功把0.2機(jī)器上的mysql數(shù)據(jù)庫(kù)備份下來(lái),

導(dǎo)入數(shù)據(jù)庫(kù):mysql -h192.168.0.2 -uroot -psz212 -P 7659 hotelguanli G:/temp/2013-03-28-10-34-35.sql

下面是sqlserver的:

os.system("sqlcmd.exe -S 127.0.0.1,56678 -U sa -P 123456 -d 數(shù)據(jù)庫(kù)名 -b -c cmd_end -Q \"backup database 數(shù)據(jù)庫(kù)名 to disk='d:/sql.bak'\"")

看看,是不是很簡(jiǎn)單。

當(dāng)然還可以通過(guò)os.path.getsize(r"d:/sql.bak")/1024來(lái)獲取這個(gè)文件的大小,返回的是K,

備份文件還可以用時(shí)間值來(lái)命名:

如:

nowtime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))+""

改造上面一條:

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams E:/mysqldack/xdreams/xdreams"+nowtime+".txt")

如果再完善一點(diǎn),就加個(gè)備份完成后發(fā)一封郵件到你郵箱里吧。

其它要注意到的一點(diǎn)就是sqlxerver和備份中,sqlserver服務(wù)器實(shí)列要支付遠(yuǎn)程連接,開(kāi)啟sql brower服務(wù)

兩個(gè)數(shù)據(jù)庫(kù)的密碼不要含有"^"這個(gè)符號(hào),因?yàn)樵赾md里好像識(shí)別不到它,轉(zhuǎn)義也不行,具體原因沒(méi)查到.

現(xiàn)在,加在windows或linux的計(jì)劃任務(wù)中去,每天執(zhí)行它,至此,大功告成.

Python文件操作,看這篇就足夠!

文件的存儲(chǔ)方式

在計(jì)算機(jī)中,文件是以二進(jìn)制的方式保存在磁盤(pán)上的文本文件和二進(jìn)制文件

文本文件可以使用文本編輯軟件查看本質(zhì)上還是二進(jìn)制文件

二進(jìn)制文件保存的內(nèi)容不是給人直接閱讀的,而是提供給其她軟件使用的二進(jìn)制文件不能使用文件編輯軟件查看

文件基本操作

在計(jì)算機(jī)中要操作文件一共包含三個(gè)步驟:1.打開(kāi)文件2.讀、寫(xiě)文件

讀 將文件內(nèi)容讀入內(nèi)容寫(xiě) 將內(nèi)存內(nèi)容寫(xiě)入文件

模式描述

t文本模式 (默認(rèn))。

x寫(xiě)模式,新建一個(gè)文件,如果該文件已存在則會(huì)報(bào)錯(cuò)。

b二進(jìn)制模式。

+打開(kāi)一個(gè)文件進(jìn)行更新(可讀可寫(xiě))。

U通用換行模式(不推薦)。

r以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。

rb以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。一般用于非文本文件如圖片等。

r+打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。

rb+以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。一般用于非文本文件如圖片等。

w打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。

wb以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。

w+打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。

wb+以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則打開(kāi)文件,并從開(kāi)頭開(kāi)始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。

a打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。

ab以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。

a+打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

ab+以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。

文件打開(kāi)模式有很多,但是我們實(shí)際用到的就只有六種。

我們總結(jié)一下主要用到的是下面六種

模式可做操作若文件不存在是否覆蓋文件原來(lái)內(nèi)容

r只讀報(bào)錯(cuò)——

r+可讀、可寫(xiě)報(bào)錯(cuò)是

w只寫(xiě)創(chuàng)建是

w+可讀、可寫(xiě)創(chuàng)建是

a只寫(xiě)創(chuàng)建否,追加寫(xiě)

a+可讀、可寫(xiě)創(chuàng)建否,追加寫(xiě)

只讀模式打開(kāi)文件——只讀(r)

文件若不存在報(bào)錯(cuò):

讀寫(xiě)模式打開(kāi)文件——讀寫(xiě)模式(r+)

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

會(huì)替換掉相同長(zhǎng)度的內(nèi)容

文件若不存在報(bào)錯(cuò):

寫(xiě)模式打開(kāi)文件——寫(xiě)模式(w)

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

這種操作會(huì)刪除原來(lái)的文件內(nèi)容,重新寫(xiě)入Python,

并且把光標(biāo)放在文件最開(kāi)始。

若文件不存在,系統(tǒng)會(huì)創(chuàng)建該文件夾并重新寫(xiě)入內(nèi)容

讀寫(xiě)模式打開(kāi)文件——讀寫(xiě)模式(w+)

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

這種操作會(huì)刪除原來(lái)的文件內(nèi)容,重新寫(xiě)入Python,

并且把光標(biāo)放在文件最開(kāi)始。

若文件不存在,系統(tǒng)會(huì)創(chuàng)建該文件夾并重新寫(xiě)入內(nèi)容

利用這個(gè)原理所以文件寫(xiě)模式(w)、讀寫(xiě)模式(w+)還可以用作刪除文件內(nèi)容。

因?yàn)樗麄冋麄€(gè)工作原理就是把文件原來(lái)的內(nèi)容刪除,然后寫(xiě)入新的內(nèi)容。

如果我們寫(xiě)入的內(nèi)容為空,那么不就是刪除文件內(nèi)容。

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

寫(xiě)模式打開(kāi)文件(追加內(nèi)容)——寫(xiě)模式(a)

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

可以看到是在原先內(nèi)容的基礎(chǔ)上在文末追加新的內(nèi)容!

若文件不存在,系統(tǒng)會(huì)創(chuàng)建新的文件夾并寫(xiě)入內(nèi)容

讀寫(xiě)模式打開(kāi)文件(追加內(nèi)容)——讀寫(xiě)模式(a)

數(shù)據(jù)寫(xiě)入之前:

數(shù)據(jù)寫(xiě)入之后:

可以看到是在原先內(nèi)容的基礎(chǔ)上在文末追加新的內(nèi)容!

若文件不存在,系統(tǒng)會(huì)創(chuàng)建新的文件夾并寫(xiě)入內(nèi)容

二進(jìn)制模式打開(kāi)文件

我們看到了在文件打開(kāi)模式中有以下模式:rb、wb……有這種帶 b 的。

什么意思呢?

就是用二進(jìn)制的方式打開(kāi)文件。

很明顯,我們出現(xiàn)了以下錯(cuò)誤:

主要原因是因?yàn)榫幋a的問(wèn)題,可能是因?yàn)?x82這個(gè)字節(jié)在gbk編碼中沒(méi)有這個(gè)字符,

可能原字符是兩個(gè)字節(jié),在gbk里被解析成了一個(gè)字節(jié),導(dǎo)致字符不存在。

這就是我們文件打開(kāi)方式需要使用二進(jìn)制讀取的原因。

文件操作

open 函數(shù)負(fù)責(zé)打開(kāi)文件,并且返回文件對(duì)象

read /write / close 三個(gè)方法都需要通過(guò)文件對(duì)象 來(lái)調(diào)用

文件和文件夾的操作

在Python中?件和?件夾的操作要借助os模塊??的相關(guān)功能,

具體步驟如下:

導(dǎo)?os模塊

使? os 模塊相關(guān)功能

1、文件重命名

2、刪除文件

3、創(chuàng)建文件夾

4、刪除文件夾

5、獲取當(dāng)前目錄

6、改變默認(rèn)目錄

7、獲取目錄列表


當(dāng)前標(biāo)題:python操作sqlserver的簡(jiǎn)單介紹
標(biāo)題路徑:http://weahome.cn/article/dsdphis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部