[解決済み] Pythonのトリプルクォートされた複数行の文字列の余分なインデントを削除するには?
2023-05-08 08:40:16
質問
Pythonのエディタで、ユーザーがスクリプトやコードを入力し、それが裏でメインメソッドに入れられ、同時にすべての行がインデントされるようなものがあります。問題は、ユーザーが複数行の文字列を持っている場合、スクリプト全体に行われたインデントが、すべてのスペースにタブを挿入することによって、文字列に影響を与えることです。問題のあるスクリプトは、次のような単純なものです。
"""foo
bar
foo2"""
ということで、mainメソッドの時は次のようになります。
def main():
"""foo
bar
foo2"""
となり、文字列には各行の先頭に余分なタブが付くようになります。
どのように解決するのですか?
つまり、私が正しく理解していれば、ユーザーが入力したものは何でも、適切にインデントして、プログラムの残りの部分に追加する(そして、そのプログラム全体を実行する)のです。
ですから、ユーザー入力をプログラムに入れた後、正規表現を実行して、基本的に強制インデントを元に戻すことができるのです。次のようなものです。3 つの引用符の中で、4 つのスペース (またはタブ) が続くすべての "new line markers" を "new line marker" だけに置き換えます。
関連
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonで大きなファイルの行数を安価に取得する方法は?
-
[解決済み] 複数行のコマンドを入力する方法
-
[解決済み] 複数行の文字列の適切なインデント?
-
[解決済み] 文字列を整数に変換するには?
-
[解決済み】Pythonのインデントを修正する方法
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複