2017-03-24 18 views
0

私はプログラミング時に新しく、ユーザーが入力できるようにメモ帳文書を開く方法を知りました。私はすでにあなたが開くと、ファイルに書き込むことがPythonはテキスト(メモ帳)文書を開きます

variablename = open("filename.txt","w") 

を使用することができますが、その代わりのpythonに書き込むので、私は、ユーザーがいないのpythonシェルの実際のファイルに入力することができますので、直接開くファイルを望んでいたことを知っています。 は、これまでのところ、私は

import os 
os.?????(filename.txt) 

を使用する必要がありますが、私は、ファイルを作成する方法を知ってはいけないデータを入力することができますので、ユーザーがポップアップしていることを知っています。誰かが私を助けることができますか?

import os 
os.system("notepad filename.txt") 

それとも通常推奨される方法であるsubprocess.Popenを使用して::

import subprocess 
subprocess.Popen(["notepad","filename.txt"]) 
# the concepts of both my methods is they run a shell script calling notepad to run filename.txt 

しかし、私はWindowsのみと信じ

+0

'.txt'ファイルが' notepad'を開くようにファイルアソシエーションが設定されている場合、 'subprocess.run'を使ってテキストファイルを"実行 "し、' shell = True'を設定することができます。これは、そのファイル拡張子に関連付けられているプログラムを実行するので、Officeドキュメントでも機能します(Word、Excelなどが開きます)。それはWindows上でのみ動作します。 – cdarke

答えて

0

osを使用して、この最も簡単な方法は、シェルスクリプトを実行するためにos.systemを使用することですメモ帳アプリケーションがあります。

また、コメントから提案された方法を使用することができます。

import subprocess 
subprocess.run(["notepad","filename.txt"]) 

しかし、唯一このポップアップしますメモ帳は、Python 3.5+で

+0

*サブプロセスを呼び出すための推奨される方法は、処理できるすべてのユースケースに対してrun()関数を使用することです。* https://docs.python.org/3/library/subprocess.html – cdarke

+0

ありがとう本当に有益です:) –

0
import os 
os.system("start notepad.exe <path/to/file>") 

を動作します。ファイルが存在しない場合は、作成するかどうかを確認するプロンプトが表示されます。