Autocompletar vía de acceso de archivo usando la entrada de los usuarios.

(python)

Estoy buscando para obtener una entrada de los usuarios para un filepath. Parece bastante básico, pero parece que no consigo que funcione readline o rlcompleter.

Bastante: variable = raw_input (‘Filepath:’) y luego el filepath tiene funciones de autocompletado como lo haría en una shell.

No estoy restringido a Python, estoy dispuesto a usar cualquier idioma siempre que pueda establecer una variable como la ruta de archivo y capturar la ruta de archivo con la función Autocompletar.

He visto esto: la finalización de la pestaña en raw_input () de Python, que me ayudó a tener una idea de qué buscar, aunque el problema era que requería un comando frente a la ruta de archivo como “extra”. Necesito establecer la variable como la ruta de archivo. Usted pensaría que sería bastante simple, pero no he encontrado mucho en él en ningún lugar, y los pocos que he encontrado no eran exactamente lo que estaba buscando.

En bash había un comando read -e que puede ejecutarse en una línea de comandos, pero no se reconoce en un script que era extraño. Es exactamente lo que estaba buscando, si solo pudiera ser utilizado dentro de un script para establecer la variable igual a la ruta de archivo autocompletada.

¿Algo como esto?

import readline, glob def complete(text, state): return (glob.glob(text+'*')+[None])[state] readline.set_completer_delims(' \t\n;') readline.parse_and_bind("tab: complete") readline.set_completer(complete) raw_input('file? ') 

Esto es solo un poco de python y sospecho que hay formas en que alguien podría piratear esto y causarle todo tipo de problemas … o algo así, pero esta es una forma en la que el bash y el python pueden jugar bien juntos.

 import subprocess the_file=subprocess.check_output('read -e -p "Enter path file:" var ; echo $var',shell=True).rstrip()