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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

3回答

5422閲覧

subprocess [WinError 2]

Pandas_Panda

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/09/02 13:33

ビギナーです、よろしくお願いいたします。
Anacondaでsubprocessを使ってみたのですが、エラーが出て進みませんでした。
お助けください・・
※Dドライブにtest.txt置いてあります。
windows10です。

コード
#サブプロセスのインポート
import subprocess
#Web ブラウザのパス
ie = r"C:¥Program Files¥Internet Explorer¥iexplore.exe"
#txt ファイルのパス
file = r"D:¥test.txt"
#Web ブラウザで txt ファイルを開く
subprocess.run ([ie, file])

エラー

FileNotFoundError Traceback (most recent call last)
<ipython-input-9-78c08018f27a> in <module>
6 file = r"D:¥test.txt"
7 #Web ブラウザで txt ファイルを開く
----> 8 subprocess.run ([ie, 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,

FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

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

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

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

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

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

guest

回答3

0

回答は出ていますが、ビギナーということで、ちょっとアドバイスを。

創造するに、¥記号を入れたいのに\記号が出てしまうので、苦労して¥記号になるようにしたのではないかと創造します。

実はバックスラッシュと円記号は実はおなじ文字を表わしています。
「バックスラッシュと円記号」などのキーワードで検索すると詳しい説明がでてきますが、基本的には環境(使っているフォント)によってどちらが表示されるかに違いが出るのです。

今回円記号はファイルのパスの区切りとして現れています。
windowsは当初ms-dosというosの上に作られました。ms-dosはunixを参考に作られたと言わえています。 unixではパスの区切りはスラッシュ(/)記号を使います。そこでms-dosではバックスラッシュ(\)を使うようにしました。

ところが、 そのバックスラッシュという文字はあまり使われない文字なので、言語によって自由に使っていい場所だったのです。日本語のフォントを作るときにそこに円記号(¥)を割り当てたのです。
なので、

  • ¥を入れたいのに\が出てしまう場合、そういうフォントなのでそのままにしてOKです。
  • \にしたいのに¥が出てしまう場合も、そういうフォントなのでそのままにしてOKです。

ということです。

投稿2021/09/02 14:08

TakaiY

総合スコア12745

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

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

Pandas_Panda

2021/09/03 12:23 編集

教えてくださってありがとうございます。大変勉強になりました。 無事に行けました!!
guest

0

バックスラッシュを書くべき所を半角円記号を書いてしまっています。どうやって入力したのか?

誤:ie = r"C:¥Program Files¥Internet Explorer¥iexplore.exe" 正:ie = r"C:\Program Files\Internet Explorer\iexplore.exe"

他も同様。

投稿2021/09/02 13:47

otn

総合スコア84499

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

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

Pandas_Panda

2021/09/03 12:23 編集

ご丁寧にありがとうございます。記号の問題でしたね!勉強になります! 無事に解決しました!
guest

0

ベストアンサー

ie = r"C:¥Program Files¥Internet Explorer¥iexplore.exe"
file = r"D:¥test.txt"

どうもバックスラッシュではなく円記号になっているようです。
きちんとバックスラッシュを入力するか、うまくできなければスラッシュ/を使っても動くと思います。

投稿2021/09/02 13:40

編集2021/09/02 13:41
itagagaki

総合スコア8402

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

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

Pandas_Panda

2021/09/03 12:24

日本語キーボードでバックスラッシュ入れても結局円マークに変換されて困りました・・・システム言語自体を英語をすべきでしたね、本当にスラッシュでも行けました!pythonにおいてはスラッシュとバックスラッシュは同じ意味でしょうか・・・すごいです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問