Python 3ベース-問題の概要
19907 ワード
Python 3ベース-問題の概要
この文章は主にpython 3の使用を学ぶ上で出会ったいくつかの問題について書きます.--私はpython白です.もし間違いがあったら、大神さんに教えてください.
1、print()関数
古いprint関数はprint「Hello」として使用され、新しいprint関数はprint(「Hello」)に変更され、以前のバージョンと互換性がなくなりました.3.XバージョンのPythonで古いprint構文を使用すると、「SyntaxError:invalid syntax」エラーが発生します.
2、raw_input()とinput()
Python 3ではraw_の代わりにinput()を使用していますinput()は、もちろん名前の変更だけで、使用上は違いません.
3、比較記号、使用!=置換<>
4、repr関数
repr()関数を使用して置換」(注意:キーボード1の左側にあるキーの逆一重引用符)を使用して、objectをstringに変換します.repr()はstr()と少し異なることに注意してください.
5、exec()関数
execは文字列またはファイルに格納されたPython文を実行するために使用され、JavaScriptのeval()関数と同様に、新しいexecはexec(‘print(‘Hello’))として使用されます.新しいインタフェースの設計は、新しい執筆体験をもたらします. 創作センターでお気に入りのコードハイライトスタイルを設定し、Markdownはコードシートに選択したハイライトスタイルを表示します. は、ローカルの画像を編集領域に直接ドラッグ&ドロップして表示することができる画像ドラッグ機能を追加しました. 新しいKaTeX数学公式文法; ガントチャートをサポートするmermaid構文1機能を追加しました. マルチスクリーン編集Markdown記事機能を追加しました. はフォーカスライティングモード、プレビューモード、簡潔ライティングモード、左右領域同期ローラ設定などの機能を追加し、機能ボタンは編集領域とプレビュー領域の中間に位置する; はチェックリスト機能を追加しました. 6.Windowsでの「No module named'xlrd」の解決策問題説明windows 10でpythonコードでヘッダファイル を参照
次のエラーが発生しました原因pythonのxlrdライブラリはサードパーティ製で、別途インストールする必要があります. ソリューションwindows commandコマンドラインに入り、pythonのインストールディレクトリの下のScriptフォルダにディレクトリを切り替え、easy_inatall pipを実行し、pipコマンド をインストールします.
pipコマンドを使用してxlrdパッケージをインストール
7. ImportError: No module named ‘urllib2’
今日は簡単なコードを試してみました.
実行後のエラー:
自分のパソコンにはpython 3.4が入っていて、3以降urllib.requestでurllib 2の代わりになっているので、このように変更しました.
8.python 3 AttributeError:'module'object has no attribute'urlencode'を解決する
エラー:
解決:python 3バージョンurllib.parse.urlencode(values)
9.python 3.x実行post要求時報エラー「POST data should be bytes or an iterable of bytes...」の解決方法
python 3.5.1を使用してpostリクエストを実行する場合、「POST data should be bytes or an iterable of bytes.It cannot be of type str.」とエラーが発生し続け、チュートリアルをよく照らしても作成方法に問題はありません.
最後に、urlencode文の後にencode(encoding=‘UTF 8’)を付ける必要があることをコミュニケーションで発見しました.
問題解決
10.リストの各要素をfloatに変換する(Python 2とPython 3の違い)
11.PythonエラーTypeError:write()argument must be str,not bytes
今日Pythonのpickleストレージを使用している間に、次のエラーが発生しました.
ネットで検索してみると、ファイルが開く方法に問題があることが分かった.
以前に開いたファイルの文は次のとおりです.
その後、バイナリ方式で開くと、この問題はありません.
問題の原因はpickleストレージ方式がデフォルトでバイナリ方式であるためです
Python読み書きファイル中国語文字化け
12. python TypeError: ufunc ‘subtract’ did not contain a loop with signature matching types dtype(‘S32’)
13.tensorflow公式ドキュメントのsubとmulの関数はAPIで名前を変更しました
1)AttributeError: module ‘tensorflow‘ has no attribute ‘sub‘
実行時エラー:
pycharmでtf.が自動的に反転する情報を経て、私はもとのこのsub関数がsubtractに取って代わられたことを発見して、tf.subtract(x,a)、okに変えて、すべて順調です!
2)AttributeError: module ‘tensorflow‘ has no attribute ‘mul‘
エラーメッセージ:
同じように、pycharmでtf.反顕情報を観察したところ、このtf.mul関数がtf.multiplyに変換されたことがわかりました.修正後、ok!
14. AttributeError: module ‘tensorflow’ has no attribute ‘types’
ソリューション:コードを~に変更
mermaid構文の説明↩︎
この文章は主にpython 3の使用を学ぶ上で出会ったいくつかの問題について書きます.--私はpython白です.もし間違いがあったら、大神さんに教えてください.
1、print()関数
古いprint関数はprint「Hello」として使用され、新しいprint関数はprint(「Hello」)に変更され、以前のバージョンと互換性がなくなりました.3.XバージョンのPythonで古いprint構文を使用すると、「SyntaxError:invalid syntax」エラーが発生します.
2、raw_input()とinput()
Python 3ではraw_の代わりにinput()を使用していますinput()は、もちろん名前の変更だけで、使用上は違いません.
3、比較記号、使用!=置換<>
4、repr関数
repr()関数を使用して置換」(注意:キーボード1の左側にあるキーの逆一重引用符)を使用して、objectをstringに変換します.repr()はstr()と少し異なることに注意してください.
5、exec()関数
execは文字列またはファイルに格納されたPython文を実行するために使用され、JavaScriptのeval()関数と同様に、新しいexecはexec(‘print(‘Hello’))として使用されます.
import xlrd
次のエラーが発生しました
"No module named 'xlrd'
pipコマンドを使用してxlrdパッケージをインストール
pip install xlrd
7. ImportError: No module named ‘urllib2’
今日は簡単なコードを試してみました.
import urllib2
response = urllib2.urlopen("http://www.baidu.com")
print response.read()
実行後のエラー:
Traceback (most recent call last):
File "D:/PycharmProjects/network_test/scrapy.py", line 1, in <module>
import urllib2
ImportError: No module named 'urllib2'
自分のパソコンにはpython 3.4が入っていて、3以降urllib.requestでurllib 2の代わりになっているので、このように変更しました.
import urllib.request
response = urllib.request.urlopen("http://www.baidu.com")
print(response.read())
8.python 3 AttributeError:'module'object has no attribute'urlencode'を解決する
エラー:
Traceback (most recent call last):
File "C:/Users/Window/Desktop/urllib2_test01.py", line 13, in <module>
data = urllib.urlencode(values)
AttributeError: 'module' object has no attribute 'urlencode'
解決:python 3バージョンurllib.parse.urlencode(values)
9.python 3.x実行post要求時報エラー「POST data should be bytes or an iterable of bytes...」の解決方法
python 3.5.1を使用してpostリクエストを実行する場合、「POST data should be bytes or an iterable of bytes.It cannot be of type str.」とエラーが発生し続け、チュートリアルをよく照らしても作成方法に問題はありません.
最後に、urlencode文の後にencode(encoding=‘UTF 8’)を付ける必要があることをコミュニケーションで発見しました.
eg:
params = urllib.parse.urlencode({'userid':'381fccbd776c4deb'}).encode(encoding='UTF8')
問題解決
10.リストの各要素をfloatに変換する(Python 2とPython 3の違い)
#Python2
for line in fr.readlines():
curLine = line.strip().split('\t')
fltLine = map(float, curLine) # float
dataMat.append(fltLine)
#Python3
for line in fr.readlines():
curLine = line.strip().split('\t')
fltLine = list(map(float,curLine))# float
dataMat.append(fltLine)
11.PythonエラーTypeError:write()argument must be str,not bytes
今日Pythonのpickleストレージを使用している間に、次のエラーが発生しました.
TypeError: write() argument must be str, not bytes
ネットで検索してみると、ファイルが開く方法に問題があることが分かった.
以前に開いたファイルの文は次のとおりです.
f=open("list.pkl","w+")
その後、バイナリ方式で開くと、この問題はありません.
f=open("list_account.pkl","wb+")
問題の原因はpickleストレージ方式がデフォルトでバイナリ方式であるためです
Python読み書きファイル中国語文字化け
fo = open("temp.txt", "wb+")
str = ' '
str = str.encode('utf-8')
fo.write(str)
fo.close()
12. python TypeError: ufunc ‘subtract’ did not contain a loop with signature matching types dtype(‘S32’)
import numpy as np
x = np.array([1, 2, 2.5])
x.astype(int)
y = np.array([3, 6, 2], dtype='S32')
y = y.astype('float64')
x - y
13.tensorflow公式ドキュメントのsubとmulの関数はAPIで名前を変更しました
1)AttributeError: module ‘tensorflow‘ has no attribute ‘sub‘
# Tensorflow
import tensorflow as tf
sess = tf.InteractiveSession()
x = tf.Variable([1.0,2.0])
a = tf.constant([3.0,3.0])
# initalizer op run() ‘x‘
x.initializer.run()
# sub op, ‘x‘ ‘a‘, op,
sub = tf.sub(x,a)
print(sub.eval())
# ,
sess.close()
実行時エラー:
Traceback (most recent call last):
File "C:/PythonProj/tensorflow/first_tensorflow.py", line 43, in <module>
sub = tf.sub(x,a)
AttributeError: module ‘tensorflow‘ has no attribute ‘sub‘
pycharmでtf.が自動的に反転する情報を経て、私はもとのこのsub関数がsubtractに取って代わられたことを発見して、tf.subtract(x,a)、okに変えて、すべて順調です!
2)AttributeError: module ‘tensorflow‘ has no attribute ‘mul‘
input1 = tf.constant(3.0)
input2 = tf.constant(2.0)
input3 = tf.constant(5.0)
intermed = tf.add(input2,input3)
mul = tf.mul(input1,intermed)
with tf.Session() as sess:
result = sess.run([mul,intermed])
print(result)
エラーメッセージ:
Traceback (most recent call last):
File "C:/PythonProj/tensorflow/first_tensorflow.py", line 78, in <module>
mul = tf.mul(input1,intermed)
AttributeError: module ‘tensorflow‘ has no attribute ‘mul‘
同じように、pycharmでtf.反顕情報を観察したところ、このtf.mul関数がtf.multiplyに変換されたことがわかりました.修正後、ok!
14. AttributeError: module ‘tensorflow’ has no attribute ‘types’
input1 = tf.placeholder(tf.types.float32)
ソリューション:コードを~に変更
input1 = tf.placeholder(tf.float32)
mermaid構文の説明↩︎