【まず1嫁】くだすれPython(超初心者用) その60 (333レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
53: デフォルトの名無しさん [sage] 2024/09/25(水) 15:58:57.53 ID:qqRCBOP9(1/2) AAS
windows用python入れてp2exeしろよ
うぜえからもう来るな
101: デフォルトの名無しさん [sage] 2024/11/22(金) 13:50:34.53 ID:gA6QtjHk(1) AAS
酷いやり取りだな
>>89
89(2): デフォルトの名無しさん [sage] 2024/11/21(木) 21:43:27.89 ID:KBaufqW0(1/2) AAS
Windows環境でsubprocess.runを呼び出す時の、ダブルクオートの処理について教えてください
いろいろ検索したのですが、どうしても解決できませんでした。

目的は、コマンドプロンプトのstartコマンドで、タイトルを引数に与えて実行したい、というものです。
タイトルは必ずダブルクオートを付与する必要があります(実行するコマンド部分と区別するため)

pythonからではなく素で実行する場合(以下は仮でdateコマンド、タイトルをhogehoge)
start "hogehoge" date

これを、subprocess.runから呼び出す場合
subprocess.run(['CMD', '/C', 'start', '"hogehoge"', 'date'])
とすれば動きそうですが、subprocess.runがダブルクオートを変換してしまいエラーとなります。
(「\hogehoge\ が見つかりません」となります)

以下の用に、タイトル部分に意図的に空白を入れて、ダブルクオートを外せば、自動的にダブルクオートが付いて渡されます
subprocess.run(['CMD', '/C', 'start', 'hoge hoge', 'date'])

どうも、引数のリストで与える場合、ダブルクオートを意図的に与えることができないようになっているみたいです

回避策として、ダミーの空白を入れる、引数をリストで与えず単一の文字列で与える(非推奨)、実行後のプログラム内で"title"コマンドでタイトルを変更する、などあるかと思いますが、もし、引数のリストを使用し空白を入れないタイトルを指定する方法があれば教えていただけると助かります。
が質問時点で既に分かっていることを、知ったか初心者がマウントしながら確認してるだけ
235
(1): デフォルトの名無しさん [sage] 2025/04/12(土) 14:57:34.53 ID:P+nHF08L(1) AAS
pythonスクリプトをもらってきて走らせたら UnicodeDecodeError: 'ascii' codec can't decode
byte 0xc5 in position 5620: ordinal not in range(128) みたいなエラーが出ます

で、これは処理するテキストファイルがUTF-8で、non-asciiな文字が含まれたせい、
というのはわかり、スクリプトの修正の仕方なども調べたのですが、

スクリプトを修正しなくてもpythonのバージョンや環境変数等でこのエラーが出ない
可能性ってありますかね?
環境によってはこのエラーが出ないようで、「おま環じゃね?」と指摘されたので
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s