2016-12-23 46 views
1

私はこれが尋ねられている/何度も答えられたことを知っていますが、解決策は私の状況では機能しません。私は、ラズベリーパイのヘッドレスLinux端末で2.7を使用してPythonスクリプトを作成しました。この環境では完全に動作します。
このスクリプトには、sqlite3データベースが含まれています。私のWindows 10マシンでDesktopからPythonスクリプトをダブルクリックするだけで、database.dbファイルが作成されますが、出力が表示される前にPythonコマンドプロンプトが閉じます。 WindowsのコマンドプロンプトなどからPythonスクリプトを実行WindowsでPythonコマンドウィンドウを開いたままにする

'スタートC:\ Users \ユーザーユーザー\デスクトップ\のscript.pyは' まったく同じことを実行し、「CMD/k個のCを使用して

ん:\ユーザー\ユーザー\デスクトップ\のscript.pyは」持続コマンドウィンドウを作成していますが、sqlite3のデータベースをオープンするライン上のそれのエラー:

Traceback (most recent call last): 
    File "C:\Users\User\Desktop\script.py", line 91, in <module> 
    conn = sqlite3.connect("database.db") 
sqlite3.OperationalError: unable to open database file 

すべてのWindows上の理由ImはImはTkinterのでGUIを構築しようとしています私のR PiはGUIを持っていません、助けていただければ幸いです

+0

あなたは 'CMD/K 'または' start'を必要としません:

あなたが現在dirがであるかどうか確認することができます。コマンドプロンプトで 'C:\ Users \ User \ Desktop \ script.py'を実行するだけです。 – eryksun

+0

ありがとうございました。私はLinuxのコマンドラインに慣れていて、Windowsへの調整に問題がありました。 – Scalextrix

+0

実際には動作しません。このメソッドではPythonスクリプトが正しく実行されません。上記の方法では発生しません。 – Scalextrix

答えて

0

あなたは完全なパスを渡す必要がありますC:\Users\User\Desktop\database.dbのように。

'cmd/k C:\ Users \ User \ Desktop \ script.py'から実行すると、コマンドが呼び出される作業ディレクトリが異なり、そのフォルダ内でdatabase.dbを表示しようとします。あなたはエラーです。

import os 
print os.getcwd() 
+1

database.dbがスクリプトディレクトリにある場合は、 path = os.path.join(os.path.dirname(__ file__)、 'database.db') 'または' __file__'の代わりに 'sys.argv [0]'を使うことができます。後者は、py2exeやpyinstallerなどのフリーズした実行可能ファイルで動作するはずです。 – eryksun

+0

pythonスクリプトは、database.dbが見つからない場合にユーザー入力を要求し、pythonスクリプトが実行されたディレクトリに見つからない場合はデータベースを作成します。これは私がscript.pyをダブルクリックすると完璧に動作しますが、出力を見ることはできません。これらの他のすべてのメソッドは、database.dbの作成/検出が機能していません。 – Scalextrix

関連する問題