に動作します。 subprocess
エラーメッセージ:実行ファイルが見つかりませんでした。
FileNotFoundError: [WinError 2] The system cannot find the file specified
は意味を持ちます。パラメータが有効なファイルパスであるかどうかを確認する(そしてできない)ので、その方向を見ないでください(そして、メッセージが一般的であり、
import subprocess
os.startfile(r'C:\1\2\22.xlsx')
os.startfileは、Windowsエクスプローラでファイルをクリックしているときと同じことを実行しようとします:仕事であろうと)Windowsの既知の問題であること
、発見しました。
この解決方法は、win32com
に依存しないという利点があります。
コメントの脇にある/議論:ドライブコロンの後にバックスラッシュが追加されないため(そして、「良い」理由(窓の理由もあります):Python os.path.join on Windows)、os.path.join('C:', '1', '2', '22.xlsx')
は機能しません。
>>> os.path.join('C:', '1', '2', '22.xlsx')
'C:1\\2\\22.xlsx' # wrong
それを行うにはきれいな方法:
>>> os.path.join('C:', os.sep,'1' , '2', '22.xlsx')
'C:\\1\\2\\22.xlsx'
'輸入os'を試してみて、' os.path.join( 'C:' を使用し、 '1'、 '2'、'22。 xlsx ') 'を手動でフォーマットするのではなく、パス引数として指定します。 – jo9k
@ jo9k奇妙な、私は窓10にあり、これは私のために何もしません。私は周りの仕事を見つけた。 –