質問編集履歴
1
説明不足による追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
pythonから共有ネットワーク上にある各種エクセルやpdf、エクスプローラを開こうとしています。
|
2
2
|
2つ質問があります。
|
3
3
|
|
4
|
-
①excelファイル
|
4
|
+
①`subprocess.Popen`でexcelファイルを開く際に、excelが起動せずにコンソールが立ち上がるだけのものもあります。
|
5
5
|
コンソールのタイトル画面には開きたいファイルのフルパスが表示されており、別コンソールでそのパスを入力し実行すると正常にファイルが起動します。
|
6
6
|
|
7
7
|
コンソールが立ち上がってしまうものはファイル形式等になにか問題があるのでしょうか。
|
8
|
+
例えばexcelファイルにおいて、同じ.xlsの拡張子を持つファイルでもコンソールが開くときと正常に開くときの2種類に分かれています。
|
9
|
+
各ファイルは同じように作成しているので形式等に差異はないかと思うのですが、
|
10
|
+
`subprocess.Popen`でコンソールが開く要因はなにかあるのでしょうか。
|
8
11
|
|
9
12
|
なお、開くためのコマンドは
|
10
13
|
```python
|
@@ -12,7 +15,14 @@
|
|
12
15
|
```
|
13
16
|
で行なっています。
|
14
17
|
|
18
|
+
追記:
|
19
|
+
下記のように、`['start', ~]`の部分をなくしてファイルパスのみにすれば正常起動しました。
|
20
|
+
```python
|
21
|
+
subprocess.Popen(file_fullpath, shell = True)
|
22
|
+
```
|
23
|
+
`'start'`はどのような処理がしたいときに使用するものでしょうか。
|
15
24
|
|
25
|
+
|
16
26
|
②また、できればファイルを開くコマンドとエクスプローラを開くコマンドを1行で済ませたいと思っております。
|
17
27
|
```python
|
18
28
|
#エクスプローラ
|
@@ -21,4 +31,7 @@
|
|
21
31
|
subprocess.Popen([‘start’, file_fullpath], shell = True)
|
22
32
|
```
|
23
33
|
現在は`os.path.isfile(fullpath)`でディレクトリかファイル化を判断してこのように2行に分けて実行しています。
|
24
|
-
なにか別の方法がありましたらご教授ください。
|
34
|
+
なにか別の方法がありましたらご教授ください。
|
35
|
+
2行に分けて書けば問題ないのですが、私の知らないもっと簡単に実現できる方法があればご教授願いたい次第です。
|
36
|
+
|
37
|
+
質問ばかりで申し訳ありませんがよろしくお願いいたします。
|