2013-12-16 18 views
5

コマンドラインでpythonを使う前にまずchcp 936を入力しなければならないのは少し疲れています。 (詳細:私のPythonのバージョンは2.7で、OSはWindows 8であると私は私のプロジェクトフォルダの[ファイル]メニューの下のコマンドラインを始めています。)cmdからpythonを起動するときにchcpを避ける方法

936簡体Chinese GBKのコーディングを示します。 Python 2.7は、コマンドラインのデフォルト設定であるコードページ65001(意味はutf-8)を認識していないようで、プログラムを実行するたびにエラーが発生します。

デフォルトの設定としてコードページ936を使用するようにcmdの設定を構成できるかどうかは疑問です。

答えて

2

EDITED

cmd /k "chcp 936"を指すショートカットを作成します - 同じ考えではなく、バッチファイルを作成し、シェルに統合 .regファイルとして保存し、

Windows Registry Editor Version 5.00 

;-------------------------------------------- 
; Create handler for right click on directory 
;-------------------------------------------- 

[-HKEY_CLASSES_ROOT\Directory\shell\cmdPython] 

[HKEY_CLASSES_ROOT\Directory\shell\cmdPython] 
@="Open python command window here" 

[HKEY_CLASSES_ROOT\Directory\shell\cmdPython\command] 
@="cmd /k pushd \"%L\" & chcp 936" 

;------------------------------------------------------- 
; Create handler for right click on directory background 
;------------------------------------------------------- 

[-HKEY_CLASSES_ROOT\Directory\Background\shell\cmdPython] 

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdPython] 
@="Open python command window here" 

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdPython\command] 
@="cmd /k pushd \"%L\" & chcp 936" 

;---------------------------------------- 
; Create handler for right click on drive 
;---------------------------------------- 

[-HKEY_CLASSES_ROOT\Drive\shell\cmdPython] 

[HKEY_CLASSES_ROOT\Drive\shell\cmdPython] 
@="Open python command window here" 

[HKEY_CLASSES_ROOT\Drive\shell\cmdPython\command] 
@="cmd /k pushd \"%L\" & chcp 936" 
+0

おかげさまで、感謝しています。しかし私は毎回各フォルダにcdする必要がないように、私が作業しているフォルダからcmdを使ってpythonを起動したいと思っています。 – Peihui

+0

@Peihui:更新された回答を参照してください。これがあなたの必要とすることを望むことを願っています。 –

+0

はい、これはまさに私が探していたものです。私は今日このregを試しました。残念ながら、ディレクトリの背景のセクションは機能しません。 cmdパラメータに若干の研磨が必要なようです。 – Peihui

2

を実行するためには、c.batと呼ばれ、それを上に置きますパス:cと入力してEnterキーを押します。

さらに、バッチファイルの中にpythonコマンドを入れて、タスクに合うようにパラメータを受け入れることができます。

@echo off 
chcp 936 

代わりautoexec.ntcmdで起動し、あなたがそこにコマンドを追加することができますsystem32フォルダ内にあります。

+0

autoexec.ntを使用する際の問題は、単にopositeである可能性があります。すべてのコマンドウィンドウがpagecode 936で開きます。 –

+0

@foxidrive:autoexec.ntがそこにあることを確認してください。私の窓8には、そのようなファイルはありません。 – Peihui

+0

@Peihuiはい、それは私のWindows 8.1のsystem32フォルダにもあります。 – foxidrive

関連する問題