[解決済み] Pythonのコードのインデントを中括弧に変換する方法はありますか?
質問
私は全盲のプログラマで、Pythonを学びたいと思っています。残念ながら、コードブロックが異なるレベルのインデントで表現されているという事実が大きな障害となっています。中括弧や他のコードブロック区切り文字を使用してコードを書き、そのフォーマットを Python インタープリタが使用できるように適切にインデントされた表現に変換できるようなツールがあるのでしょうか?
どのように解決するのですか?
Python本体と一緒に配布されている解決方法があります。
pindent.py
Windowsでインストールした場合、それはToolsScriptsディレクトリにあります(私のパスはC: \Python25╱ToolsScripts)、それはあなたがしなければならないように見えます。
svn.python.org から取得してください。
を実行する必要があるようです。
ブロックが閉じられたときにコメントを追加したり、コメントが入れられたときに適切にコードをインデントすることができます。以下は、pindentがコマンドで出力するコードの例です。
pindent.py -c myfile.py
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
# end if
else:
print 'oops!'
# end if
# end def foobar
ここで、オリジナルの
myfile.py
があったところ。
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
else:
print 'oops!'
また
pindent.py -r
を使ってコメントに基づいて正しいインデントを挿入することもできます(詳しくはpindent.pyのヘッダーを読んでください)。これにより、インデントを気にせずにpythonでコーディングできるようになるはずです。
例えば
pindent.py -r myfile.py
を実行すると、以下のコードが
myfile.py
で生成されるコードと同じように適切にインデントされた(そしてコメントされた)コードに変換します。
pindent.py -c
の例と同じように、適切にインデントされたコードに変換します。
def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
# end if
else:
print 'oops!'
# end if
# end def foobar
もし、さらに支援が必要な場合は、この投稿にコメントしていただければ、お手伝いします。
関連
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonで複数行のコメントを作成する方法はありますか?
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] リストの要素を値で削除する簡単な方法はありますか?
-
[解決済み] Pythonで16進文字列をintに変換する
-
[解決済み] Pythonの上達の道 - 見習いから第一人者へ
-
[解決済み] なぜpythonはforやwhileループの後に'else'を使うのですか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] virtualenvsはどこに作成するのですか?