質問編集履歴

1

説明不足による追記

2019/07/31 02:43

投稿

sky6720
sky6720

スコア20

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
+ 質問ばかりで申し訳ありませんがよろしくお願いいたします。