問題タブ [python-3.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python3.0 - トークン化とトークン化解除
次の簡略化されたスクリプトに似たものを使用して、より大きなファイルから python のスニペットを解析しています。
コードは python2.x と同じではありませんが、同じイディオムを使用しており、問題なく動作します。ただし、python3.0 を使用して上記のスニペットを実行すると、次の出力が得られます。
このエラーとその原因への参照を検索しましたが、何も見つかりませんでした。私は何を間違っていますか?どうすれば修正できますか?
[編集]
ソースに改行を追加するとエラーが消えるというpartisannの観察の後、トークン化を解除していたリストをいじり始めました。EOF
トークンの直前に改行がないとエラーが発生するようですので、削除するとエラーが解消されます。次のスクリプトはエラーなしで実行されます。
python - Python 3 で raw_input を使用するにはどうすればよいですか
Python 3.1 を使用していますがraw_input
、dos ポップアップを「フリーズ」することができません。私が読んでいる本はPython 2.5用で、私はPython 3.1を使用しています
これを修正するにはどうすればよいですか?
python - ストーム Python 3 は互換性がありますか?
そのトピックに関する情報は見つかりませんでしたし、そのホームページにも言及されていません。
python-3.x - python3.0: imputils
imputil モジュールが python3.0 から削除されたのはなぜですか? その代わりに何を使用する必要がありますか?
python-3.x - PEP 302 例: 新しいインポートフック
PEP 302で説明されている「新しいインポート フック」の実装例はどこにありますか?
可能な限り上位互換性のあるカスタム ファインダーとローダーを実装したいと考えています。つまり、実装は python 2.x および 3.x で動作するはずです。
python - NameErrorを与えるモジュールのリロード:名前 'reload'が定義されていません
Python 3 で既にインポートしたモジュールを再読み込みしようとしています。一度だけインポートする必要があり、import
コマンドを再度実行しても何も起こらないことはわかっています。
実行reload(foo)
すると、次のエラーが発生します。
エラーの意味は何ですか?
unicode - Python 3 が新しいサーバーで Unicode ファイルを読み取らない
私のウェブページは、一連のファイルを動的にインポートするスクリプトによって提供されています
(実際、ファイルをインポートするためのより良い方法を提案できますか? きっとあると思います。)
ファイルには、次のような異なる言語の文字列が含まれている場合があります
それらはすべてUTF-8ファイルとして保存されました。Python では、コマンド ラインでスクリプトを実行したり、MacBook からページを提供したりすることに問題はありません。
しかし、移動したばかりのサーバーからページを提供しようとすると、エラーがスローされます。
すべてのファイルは私のラップトップからコピーされ、Apache によって完全に提供されていました。理由は何ですか?
更新:のデフォルトのエンコーディングopen()
がプラットフォームに依存することがわかったのでutf8
、ラップトップとascii
サーバーにありました。Python 3で設定するプログラムごとの関数があるのだろうか(モジュールsys.setdefaultencoding
で使用site
され、名前空間から削除されます)。
unicode - Python 3 は sys.stdout.buffer.write() 良いスタイルを使用していますか?
Python 3.0 Web スクリプトでの Unicode ファイルの読み取りについて学んだ後、今度print()
は Unicode の使用について学習します。
たとえば、この質問では、Unicode 文字を非 Unicode コンソールに書き込めないことが説明されています。ただし、私の場合、出力は Apache に渡され、Unicode テキストを処理できると確信しています。ただし、何らかの理由で、stdout
私の Web スクリプトの はascii
.
明らかに、自分で書き込むためにファイルを開く場合は、次のようにします。
しかし、私はオープンストリームを与えられたので、私は使用することに頼りました
そしてすべてがうまくいくようです。これは、善行の規則に違反していないか、または意図しない結果をもたらしていますか?
python - Python の組み込み .csv モジュールを使用した書き込み
[これは、既に回答されている Python の組み込み .csv ライター モジュールを使用して列を置き換える方法とは別の質問であることに注意してください。]
巨大な Excel .csv ファイルで (URL の 1 つの列に固有の) 検索と置換を行う必要があります。私はスクリプト言語を独学しようとしている初期段階にあるので、Python でソリューションを実装しようと考えました。
エントリの内容を変更した後、.csv ファイルに書き戻そうとすると問題が発生します。ライターの使用方法に関するcsv モジュールの公式ドキュメントを読みましたが、このケースをカバーする例はありません。具体的には、読み取り、置換、および書き込み操作を 1 つのループで実行しようとしています。ただし、for ループの引数と writer.writerow() のパラメーターの両方で同じ「行」参照を使用することはできません。では、for ループで変更を行ったら、どのようにファイルに書き戻せばよいのでしょうか?
編集: S. Lott と Jimmy からの提案を実装しましたが、結果は同じです
編集#2: S.ロットの提案に従って、「rb」と「wb」をopen()関数に追加しました
編集:参考までに、これはインタープリターからの新しい完全なトレースバックです。
python - printステートメントがpythonicではないのはなぜですか?
この質問は(私の前の質問で証明されているように)かなり長い間私を悩ませていました:なぜ正確にprint(x)
(よりPythonicであると定義されている)よりも優れているのprint x
ですか?
知らない人のために、print
ステートメントはPython3.0で関数に変更されました。正式なドキュメントはPEP3105にあり、動機はGuidovanRossumの電子メールにあります。
それらの点について、私は対位法を作りたいと思います:
- 他にも
import
、ステートメントとして記述した演算子がありますが、それらの機能は実際には関数で複製されています。__import__
- 初心者にとって、オペレーター
print
は一般的なアプリケーションロジックに属していません。彼らにとって、それは彼らのプログラムの集大成である神秘的なオペレーターです。彼らはそれが異なって見えることを期待しています。 - 基本的なPython2.xについて説明していたすべての初心者向けの本は、最初の例から破られることが保証されています。確かに、言語は時々変更されますが、それらの変更は通常、初心者にはあまり見えません。
print
の機能をアプリケーションレベルで複製できることは、私にはすぐにはわかりません。たとえば、コンソールからの印刷をモーダルOSダイアログとしてリダイレクトしたい場合があります。- すべてのステートメントを関数に書き直すのは難しいと言われ
print
ていますが、すべてのPython2.x開発者はすべてのプロジェクトでそれを正確に行う必要があります。いいですね、自動コンバーターでは難しくありません。 - 関数を操作する機能を楽しんでいる人なら誰でも、ステートメントラッピング関数の
print
場合と同じように役立ちます。print
__print__
- 初心者にとって、オペレーター
では、Stack Overflowのページで、この質問に対する正規の回答をいただけますか?