質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1588閲覧

subprocess issue

Pandas_Panda

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/04 02:27

ビギナーです
subprocess使ってテストしようとしたらエラーが出て色々試しても一向に解決できなくて、こちらに投稿させていただきました。
前回も同じようなエラーがあって、円マークをバックスラッシュ、スラッシュに書き換えたら上手くいきましたが、今回はどんなに記号を変えてもエラーが出るので、どうかお助けください。
よろしくお願いいたします。

コード
import subprocess

file = r"D:/test.txt"

subprocess.run(file)

エラー

OSError Traceback (most recent call last)
<ipython-input-6-edd3fbbe9037> in <module>
4 file = r"D:/test.txt"
5
----> 6 subprocess.run(file)

D:\ANACONDA\lib\subprocess.py in run(input, capture_output, timeout, check, *popenargs, **kwargs)
491 kwargs['stderr'] = PIPE
492
--> 493 with Popen(*popenargs, **kwargs) as process:
494 try:
495 stdout, stderr = process.communicate(input, timeout=timeout)

D:\ANACONDA\lib\subprocess.py in init(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
856 encoding=encoding, errors=errors)
857
--> 858 self._execute_child(args, executable, preexec_fn, close_fds,
859 pass_fds, cwd, env,
860 startupinfo, creationflags, shell,

D:\ANACONDA\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
1309 # Start the process
1310 try:
-> 1311 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1312 # no special security
1313 None, None,

OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2021/09/04 02:33

そのコードを実行したら、どのような結果になることを意図、期待していますか?
Pandas_Panda

2021/09/04 02:53

こんにちは、Dドライブに入れてあるtxtファイルが開かれればと・・
can110

2021/09/04 02:56 編集

「txtファイルが開かれる」という状態、結果を具体的に記載ください(メモ帳が起動するなど)。
Pandas_Panda

2021/09/04 03:09

わかりました、修正いたします
guest

回答1

0

ベストアンサー

テキストファイルD:\test.txtだけを指定して実行しようとしています。このファイルはWindows用のアプリではないので、あなたが書いたコードでは実行(プロセスの生成)に失敗し、エラーメッセージが表示されます。

一方、コマンドプロンプトでD:\test.txtを実行しようとすると、おせっかいなコマンドプロンプトがファイルの拡張子.txtに関連付けられたアプリ(メモ帳など。Windowsの設定次第)を探し、そのアプリでD:\text.txtを開くように処理してくれます。

subprocess.runのオプション引数shellTrueを設定すると、おせっかいなコマンドプロンプトと同様の処理を行なってくれます。

Python

1import subprocess 2 3file = r"D:/test.txt" 4subprocess.run(file, shell=True)

投稿2021/09/04 03:11

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Pandas_Panda

2021/09/04 03:22

お陰様で無事に解決しました!ありがとうございます!大変勉強になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問