タグ付けされた質問 「python-2.x」

言語のバージョン2.xに固有のPythonプログラミングに関する質問。質問がバージョン固有でない場合は、より一般的な[tag:python]タグを使用してください。

28
UnicodeEncodeError: 'ascii'コーデックは位置20の文字u '\ xa0'をエンコードできません:序数が範囲(128)にありません
(異なるサイトの)異なるWebページからフェッチされたテキストからのUnicode文字の処理に問題があります。BeautifulSoupを使用しています。 問題は、エラーが常に再現できるとは限らないことです。いくつかのページで動作することもあれば、をスローすることでbarfsすることもありUnicodeEncodeErrorます。考えられる限りのことをすべて試しましたが、何らかのUnicode関連のエラーをスローせずに一貫して機能するものは何も見つかりませんでした。 問題の原因となっているコードのセクションの1つを以下に示します。 agent_telno = agent.find('div', 'agent_contact_number') agent_telno = '' if agent_telno is None else agent_telno.contents[0] p.agent_info = str(agent_contact + ' ' + agent_telno).strip() 上記のスニペットが実行されたときにSOME文字列で生成されるスタックトレースは次のとおりです。 Traceback (most recent call last): File "foobar.py", line 792, in <module> p.agent_info = str(agent_contact + ' ' + agent_telno).strip() UnicodeEncodeError: 'ascii' codec can't encode character …

8
Pythonで辞書キーをリストとして返す方法は?
Python 2.7、私は辞書得ることができるキー、値、またはアイテムリストなどを: >>> newdict = {1:0, 2:0, 3:0} >>> newdict.keys() [1, 2, 3] 今、Python> = 3.3で、私はこのようなものを得ます: >>> newdict.keys() dict_keys([1, 2, 3]) だから、私はリストを取得するためにこれをしなければなりません: newlist = list() for i in newdict.keys(): newlist.append(i) Python 3でリストを返すより良い方法はありますか?


11
除算を浮動小数点にするにはどうすればよいですか?除算は0に切り捨て続けますか?
私は2つの整数値aとを持っていますbが、浮動小数点での比率が必要です。私はそれを知っていてa < b、計算したいa / bので、整数除算を使用すると、常にの余りで0になりますa。 c次のようにPythonで浮動小数点数になるように強制するにはどうすればよいですか? c = a / b


10
Python2のdict.items()とdict.iteritems()の違いは何ですか?
との間に適用可能な違いはdict.items()ありdict.iteritems()ますか? Python docsから: dict.items():辞書の(キー、値)ペアのリストのコピーを返します。 dict.iteritems():辞書の(キー、値)ペアのイテレータを返します。 以下のコードを実行すると、それぞれが同じオブジェクトへの参照を返すようです。私が見逃している微妙な違いはありますか? #!/usr/bin/python d={1:'one',2:'two',3:'three'} print 'd.items():' for k,v in d.items(): if d[k] is v: print '\tthey are the same object' else: print '\tthey are different' print 'd.iteritems():' for k,v in d.iteritems(): if d[k] is v: print '\tthey are the same object' else: print '\tthey are different' …

8
Pythonの__future__の用途と使用方法/使用方法、および機能
__future__Pythonモジュールに頻繁に現れます。Pythonのドキュメントを__future__読んでも、何のために、いつどのように使用するのかわかりません。__future__ 誰かが例で説明できますか? __future__私が受け取った基本的な使用法に関するいくつかの答えは正しいようです。 ただし、__future__動作についてもう1つ理解する必要があります。 私にとって最も混乱する概念は、現在のpythonリリースに将来のリリースの機能がどのように含まれているか、そして将来のリリースの機能を使用するプログラムを現在のバージョンのPythonで正常にコンパイルする方法です。 現在のリリースには、将来の機能がパッケージされていると思います。ただし、これらの機能は__future__現在の標準ではないため、使用しないと使用できません。私が正しいかどうか教えてください。
693 python  python-2.x 

7
「u」と「r」の文字列フラグは正確には何をしているのですか、また生の文字列リテラルとは何ですか?
尋ねながら、この質問を、私は生の文字列についてあまり知りませんでした実現しました。Djangoトレーナーであると主張する人にとっては、これはひどいことです。 エンコーディングとは何かを知ってu''います。Unicodeを取得しているので、それだけで何ができるのかはわかっています。 しかし、r''正確には何をしますか?その結果、どのような文字列になりますか? そして何より、一体何をするのur''でしょうか? 最後に、Unicode文字列から単純な生の文字列に戻る信頼できる方法はありますか? ああ、ところで、システムとテキストエディタの文字セットがUTF-8に設定されている場合、u''実際には何をしますか?

8
Pythonユニコード文字列のアクセントを削除する最良の方法は何ですか?
PythonにUnicode文字列があり、すべてのアクセント(発音区別符号)を削除したいと思います。 私はJavaでこれを行うエレガントな方法をWebで見つけました: Unicode文字列をその長い正規化された形式に変換します(文字と発音区別符号に別の文字を使用) Unicodeタイプが「発音区別符号」であるすべての文字を削除します。 pyICUなどのライブラリをインストールする必要がありますか、それともpython標準ライブラリだけで可能ですか?そして、python 3はどうですか? 重要な注意:アクセント記号付き文字からアクセント記号なしの対応する文字への明示的なマッピングを含むコードは避けたいです。

24
Pythonで数値をどのように切り上げますか?
この問題は私を殺しています。Pythonで数値を切り上げるにはどうすればよいですか? round(number)を試しましたが、切り捨てられました。例: round(2.3) = 2.0 and not 3, what I would like 私はint(number + .5)を試しましたが、再び数値を切り捨てました!例: int(2.3 + .5) = 2 次に、丸め(数値+ .5)を試しましたが、エッジケースでは機能しません。例: WAIT! THIS WORKED! お知らせ下さい。


10
Pythonでstdoutをパイプするときに正しいエンコーディングを設定する
Pythonプログラムの出力をパイプ処理すると、Pythonインタープリターはエンコードについて混乱し、それをNoneに設定します。これは、次のようなプログラムを意味します。 # -*- coding: utf-8 -*- print u"åäö" 正常に実行すると正常に動作しますが、次で失敗します: UnicodeEncodeError: 'ascii'コーデックは位置0の文字u '\ xa0'をエンコードできません:序数が範囲(128)にありません パイプシーケンスで使用する場合。 配管時にこれを機能させる最良の方法は何ですか?シェル/ファイルシステム/使用しているエンコーディングを使用するように指示することはできますか? これまで見てきた提案は、site.pyを直接変更するか、このハックを使用してdefaultencodingをハードコーディングすることです。 # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') print u"åäö" 配管を機能させるより良い方法はありますか?

14
科学的表記なしで、与えられた精度でnumpy.arrayをきれいに出力する方法は?
numpy.arraysたとえば、次のような方法でフォーマットされたを印刷する方法があるかどうか知りたいです。 x = 1.23456 print '%.3f' % x numpy.array浮動小数点数を出力したい場合は、小数配列が出力されます。多くの場合、「科学的」形式で出力されます。これは、低次元配列であっても読みにくいです。ただし、numpy.array明らかに、文字列として、つまりで印刷する必要があります%s。これに対する解決策はありますか?

21
JSONからUnicodeではなく文字列オブジェクトを取得する方法
Python 2を使用して、ASCIIエンコードされたテキストファイルからJSONを解析しています。 jsonまたは simplejsonでこれらのファイルをロードすると、すべての文字列値が文字列オブジェクトではなくUnicodeオブジェクトにキャストされます。問題は、文字列オブジェクトのみを受け入れる一部のライブラリでデータを使用する必要があることです。私は、ライブラリを変更することはできませんもそれらを更新します。 Unicodeオブジェクトの代わりに文字列オブジェクトを取得することは可能ですか? 例 >>> import json >>> original_list = ['a', 'b'] >>> json_list = json.dumps(original_list) >>> json_list '["a", "b"]' >>> new_list = json.loads(json_list) >>> new_list [u'a', u'b'] # I want these to be of type `str`, not `unicode` 更新 この質問は、Python 2に悩まされていた昔のことです。今日の簡単でクリーンなソリューションの1つは、Pythonの最新バージョン、つまりPython 3以降を使用することです。

8
Unicodeテキストをテキストファイルに書き込みますか?
Googleドキュメントからデータを引き出して処理し、ファイルに書き込みます(最終的にはWordpressページに貼り付けます)。 いくつかの非ASCIIシンボルがあります。これらをHTMLソースで使用できるシンボルに安全に変換するにはどうすればよいですか? 現在、私は途中ですべてをUnicodeに変換し、それをすべてPython文字列に結合してから、次のようにしています: import codecs f = codecs.open('out.txt', mode="w", encoding="iso-8859-1") f.write(all_html.encode("iso-8859-1", "replace")) 最終行にエンコードエラーがあります: UnicodeDecodeError: 'ascii'コーデックは位置12286のバイト0xa0をデコードできません:序数が範囲(128)にありません 部分的な解決策: このPythonはエラーなしで実行されます。 row = [unicode(x.strip()) if x is not None else u'' for x in row] all_html = row[0] + "<br/>" + row[1] f = open('out.txt', 'w') f.write(all_html.encode("utf-8")) しかし、実際のテキストファイルを開くと、次のような多くの記号が表示されます。 Qur‚Äôan テキストファイル以外のものに書き込む必要があるのでしょうか。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.