2013-12-16 10 views
5

Sono un po 'stanco di dover inserire prima il chcp 936 prima di usare python con la riga di comando. (Ulteriori dettagli: la mia versione Python è 2.7, e OS è Windows 8 e sto iniziando a riga di comando nel menu File della mia cartella del progetto.)come evitare chcp all'avvio di python da cmd

936 rappresenta codifica per semplificato Chinese GBK; Python 2.7 sembra non essere a conoscenza della code page 65001 (che significa utf-8), che è l'impostazione predefinita per la mia riga di comando, e quindi causa errore ogni volta che viene eseguito un programma.

Quindi mi chiedo se è possibile configurare l'impostazione cmd in modo che utilizzi la tabella codici 936 come impostazione predefinita.

risposta

2

Creare un collegamento che punta al cmd /k "chcp 936"

CURA - Con la stessa idea, ma di integrarsi nella shell, salvare come .reg file ed eseguirlo

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

So cosa intendi, grazie. Ma desidero avviare python con cmd dalle cartelle su cui sto lavorando in modo che non debba mai effettuare il cd su ogni cartella ogni volta. – Peihui

+0

@Peihui: vedere la risposta aggiornata. Spero che questo faccia ciò di cui hai bisogno. –

+0

sì, questo è esattamente quello che stavo cercando. Ho provato questo reg oggi. Sfortunatamente, la sezione per lo sfondo della directory non funziona. Sembra che il parametro cmd abbia bisogno di un po 'di lucidatura. – Peihui

2

Creare un file batch denominato c.bat e metterlo su il percorso: puoi digitare c e premere invio.

Inoltre, è possibile inserire il comando python all'interno del file batch per accettare i parametri, se questo si adatta alle proprie attività.

@echo off 
chcp 936 

In alternativa c'è un autoexec.nt nella cartella system32 che lancia con cmd e si può aggiungere comandi lì.

+0

Il problema con l'utilizzo di autoexec.nt può essere solo l'oposite. Tutte le finestre di comando si aprono con il codice di pag. 936. –

+0

@foxidrive: sei sicuro che autoexec.nt ci sia. In Windows 8, non esiste un file di questo tipo. – Peihui

+0

@Peihui Sì, è anche nella cartella system32 del mio Windows 8.1. – foxidrive