理由
最近、オンラインページをクロールする必要がある小さなツールをいじっています。次に解析します。結果をデータベースに入れます。
この分野では Python に利点があることを知って、Python を選択しました。
mysqlをインストールしたサーバーがあるので当然それを使います。データベースの運用中に多くの問題に遭遇しましたので、皆さんの励ましのためにここに記録しておきます。
Pythonでmysqlを呼び出す
BaiduはMySQLdbを通じてデータベース操作を実行できるようになります。ドキュメントを確認して、Python が mysql の C 言語 API を直接実装する mysql を提供していることを確認してください。 MySQLdb はそれをより高レベルでカプセル化したものであるため、より使いやすくなっています。 mysql を使用することもできますが、より良い方法は MySQLdb を使用することです
インストール中に問題が発生しました
このページ http://sourceforge.net/projects/mysql-python/ で、MySQLdb の最新バージョンをダウンロードして解凍できます。後でインストールを実行するときに問題が発生する可能性があります。
Python setup.py buildを通じてインストールを実行すると、setuptoolsというモジュールがありません
解決策、インストール
sudo apt-get install python-setuptools
もう一度実行してもエラーが発生する可能性があります mysql_config not found
この時点では mysqld-dev をインストールする必要があります
sudo apt-get install libmysqld-dev
再度実行するとエラーが発生する可能性があります。こんな感じです`
「mysql」拡張機能の構築 gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final', 0 ) -Dversion=1.2.3 -I/usr/include/mysql -I/usr/include/python2.7 -c mysql.c -o build/temp.linux-i686-2.7/mysql.o -DBIG_JOINS=1 - fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX In file added from mysql.c:29:0: pymemcompat.h:10:20: Fatal error: Python.h: No such file or directory
解決策
sudo apt- get install python-dev
このステップでは、Python 用の開発ヘッダー ファイルをいくつかインストールします。
基本的に、最初の 3 つの方法の後は、他に問題はありません。
ただし、mysqlは自分でインストールしたものとする。また、lib ファイルが /usr/local/lib 以下に配置されていない場合はエラーが報告されます。
解決策は、ファイルをこのフォルダーにソフトリンクするか、システムの /etc/ld.so.cnf ファイルを変更して、ライブラリが配置されているフォルダーを配置することです。どちらの方法も機能します。次に、ldconfig でそれを有効にします。
例えば最初の方法を使います ln -s /usr/local/mysql/lib/mysql/libmysqlclient* /usr/lib
実際の使い方
MySQLdbライブラリを導入します
MySQLdbをインポートします
データベースに接続します
conn= MySQLdb.connect(host="localhost", user="root", passwd="sa", db="mytable", charset="utf8")
提供された connect メソッドは、接続を確立するために使用されますデータベースと連携していくつかのパラメータを受け取り、接続オブジェクトを返します
ステートメントを実行して結果を取得します
cursor=conn.cursor() n=cursor.execute(sql,param)
まず接続オブジェクトを使用します次に、cursor が提供するメソッドを使用して作業します。これらのメソッドには、1. コマンドを実行する、2. 戻り値を受け取る
の 2 つの主要なカテゴリがあります。ここは不明
終わり。データベース接続
を閉じるには、ポインタオブジェクトと接続オブジェクトを別々に閉じる必要があります
cursor.close()
conn.close()
よく使う操作API
トランザクション操作のサポート、標準 メソッド commit() Submit
Rollback() Rollback
コマンドを実行するためにカーソルによって使用されるメソッド:
Callproc (self, procname, args): ストアド プロシージャの実行に使用され、受け取ったパラメータは次のとおりですストアド プロシージャ名とパラメータ リスト、戻り値は影響を受ける行の数です
Execute(self, query, args): 単一の SQL ステートメントを実行します。受け取ったパラメータは SQL ステートメント自体と使用されたパラメータ リスト、戻り値はvalue は影響を受ける行の数です
executemany(self, query, args): 単一の SQL ステートメントを実行しますが、パラメーター リスト内のパラメーターを繰り返し実行し、戻り値は影響を受ける行の数です nextset(self): Move次の結果セットへ
戻り値を受け取るためにカーソルによって使用されるメソッド:
fetchall(self): 返されたすべての結果行を受信します。
: fetchmany(self, size=None): 値が返される結果行を受け取ります。 size が返された結果行の数より大きい場合、cursor.arraysize 個のデータが返されます。
fetchone(self): 結果行を返します。
Scroll(self, value, mode='relative'): 移動します。特定の行へのポインタ。 mode='relative' とすると、現在の行から値 bar を移動します。
とすると、結果セットの最初の行から値 bar を移動します。最後に一文
コンピューターは ubuntu14.04 にアップグレードされ、再度インストールされました。 以前のブログ リポジトリはなくなっており、github から再びプルバックされました。何か問題が発生しました。ファイルを削除してしまい、この記事もほとんど消えてしまいました。今この記事を読むことができて本当に良かったです。

inpython、youappendelementStoalistusingtheappend()method.1)useappend()forsingleelements:my_list.append(4).2)useextend()or = formultipleElements:my_list.extend(another_list)ormy_list = [4,5,6] .3)forspecificpositions:my_list.insert(1,5).beaware

シェバンの問題をデバッグする方法には次のものがあります。1。シバン行をチェックして、それがスクリプトの最初の行であり、接頭辞スペースがないことを確認します。 2.通訳パスが正しいかどうかを確認します。 3.通訳を直接呼び出してスクリプトを実行して、シェバンの問題を分離します。 4. StraceまたはTrustsを使用して、システムコールを追跡します。 5.シバンに対する環境変数の影響を確認してください。

pythonlistscanbemanipulatedsingseveralmethodstoremoveElements:1)theremove()methodremovesthefirstoccurrenceofaspecifiedValue.2)thepop()methop()methodremovessanelementatagivenindex.3)thedelstatementementementementementementementementementemoritemoricedex.4)

Integers、strings、floats、booleans、otherlists、anddictionaryを含むpythonlistscanstoreanydatype

PythonListsSupportNumersoperations:1)AddingElementSwithAppend()、Extend()、Andinert()

Numpyを使用して多次元配列を作成すると、次の手順を通じて実現できます。1)numpy.array()関数を使用して、np.array([[1,2,3]、[4,5,6]])などの配列を作成して2D配列を作成します。 2)np.zeros()、np.ones()、np.random.random()およびその他の関数を使用して、特定の値で満たされた配列を作成します。 3)アレイの形状とサイズの特性を理解して、サブアレイの長さが一貫していることを確認し、エラーを回避します。 4)np.reshape()関数を使用して、配列の形状を変更します。 5)コードが明確で効率的であることを確認するために、メモリの使用に注意してください。

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

Forpythondatastorage、chooseLists forfficability withmixeddatypes、array.arrayformemory-efficienthogeneousnumericaldata、およびnumpyArrays foradvancednumericalcomputing.listSareversatilebuteficient efficient forlargeNumericaldatates;


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ホットトピック









