¿Hay alguna manera sencilla de lanzar el editor predeterminado de sistemas desde una herramienta de línea de comandos de Python, como el módulo webbrowser?Editor predeterminado de Lauch (como el módulo 'webbrowser')
Respuesta
bajo Windows simplemente puede "ejecutar" el archivo y la acción por defecto será tomada:
os.system('c:/tmp/sample.txt')
Para este ejemplo, un editor por defecto se generan. Bajo Unix hay una variable de entorno llamada EDITOR
, por lo que necesita usar algo como:
os.system('%s %s' % (os.getenv('EDITOR'), filename))
Los usuarios de Mac no reciben ningún amor? – Mazyod
¿Y qué ocurre si 'EDITOR' no está configurado? – exhuma
@exhuma si $ EDITOR no está configurado, entonces no tiene * user-set * predeterminado para trabajar. En OS X puede 'subprocess.call ([" abrir, "
Si necesita abrir un archivo para editar, puede interesarle this question.
(esta advertencia también se aplica a mi respuesta) Si el visor y el editor están separados, esto abre el visor en 9 de 10 casos. Llámalo en un archivo HTML y el navegador web lo abrirá para * ver *. – u0b34a0f6ae
Tienes razón, por supuesto :) Tal vez el OP aclare qué tipo de archivo necesita manejar. – Joril
La moderna forma de Linux para abrir un archivo está utilizando xdg-open
; sin embargo, no garantiza que un editor de texto abra el archivo. Usar $EDITOR
es apropiado si su programa está orientado a línea de comandos (y sus usuarios).
Puede usar el módulo webbrowser para hacer esto. Todas las respuestas dadas hasta ahora tanto para esto como para la pregunta vinculada son exactamente las mismas cosas que el módulo webbrowser hace detrás del capó.
La ÚNICA diferencia es si tienen $EDITOR
conjunto. (que es raro). Así que tal vez un mejor flujo sería:
editor = os.getenv('EDITOR')
if editor:
ps.system(editor + ' ' + filename)
else:
webbrowser.open(filename)
Ok, ahora que te he dicho que, debo hacerle saber que el módulo de navegador web hace que el estado no soporta este caso, es decir, si él doesn' t trabajo, no envíe un informe de error. Pero para la mayoría de los usos, debería funcionar.
- 1. ¿Cómo configurar Notepad ++ como editor predeterminado de TortoiseSVN?
- 2. ¿Cómo personalizar el editor predeterminado de WordPress?
- 3. Cómo implementar el diseño de varias ventanas (como el navegador predeterminado) (Editor con varios archivos abiertos)
- 4. Git merge no utiliza el mensaje de fusión predeterminado, abre el editor con el mensaje predeterminado
- 5. ¿Cómo obtener el editor de VS HTML como predeterminado para comillas simples?
- 6. Establezca TextMate como el editor de texto predeterminado en Mac OS X
- 7. ¿Abrir el editor de texto predeterminado en bash?
- 8. Control WebBrowser como interfaz de usuario
- 9. Módulo predeterminado dinámico en Zend Framework
- 10. No se puede cambiar el editor predeterminado en la terminal
- 11. ¿Cómo usar una instancia de emacs como editor de texto predeterminado? [Linux]
- 12. Editor de Xcode predeterminado a - (vacío) en lugar de - (voidPtr)?
- 13. Configure WinDbg como el depurador predeterminado
- 14. Establecer editor predeterminado para archivos XML de Android
- 15. ¿Reemplazo del editor predeterminado de Visual Studio Resx?
- 16. Eclipse C++ MinGW - Can not Lauch Program <Terminated>
- 17. ¿Cómo establecer la pestaña del editor predeterminado en Eclipse?
- 18. Android: el editor XML predeterminado ya no se abre [Error de tipo de contenido no admitido]
- 19. Emacs ... como su shell predeterminado?
- 20. Valor predeterminado de MySQL como el valor de otro campo
- 21. ASP.NET Razor como WYSIWYG Browser Editor
- 22. ¿Cómo se muestra una lista de sugerencias de ortografía en el Editor de Eclipse XML predeterminado?
- 23. Implementar el operador de módulo como una función en C
- 24. ¿Cómo construir un iOS como el módulo de configuración?
- 25. Problema de memoria WebBrowser
- 26. Crear campo con el valor predeterminado como época de tiempo
- 27. ¿Iniciar inteligentemente el editor predeterminado desde dentro de un programa CLI de Python?
- 28. Subversion con MacVim configurado como editor
- 29. Cualquier editor como VI en Windows?
- 30. NetBeans como editor para scripts ColdFusion?
¿Qué tipo de archivo? Para .txt y .py, abrir con la aplicación predeterminada es lo suficientemente bueno. Para otros tipos de archivos, es posible que no obtenga un editor. – u0b34a0f6ae
En mi caso, necesito editar .xml y texto normal (como commit messag en svn). – pkit