2010-08-15 14 views
35

Soy un novato de desarrollo de aplicaciones web. Tengo una función que abre un archivo y lo lee. Desafortunadamente, las estructuras de directorio entre los servidores de prueba y producción son diferentes. Me dijeron que "use un camino relativo a ~". Sin embargo, ¡no he podido encontrar ningún recurso en el '~'!¿Cómo uso '~' (tilde) en el contexto de las rutas?

¿Cómo se usa el carácter tilde en el contexto de las rutas?

EDITAR: Esto está en Python. Solucioné el problema utilizando os.path.expanduser().

+2

Especifique en qué tipo de plataforma de desarrollo web se encuentra. ¿Es ASP.NET? Rails? ¿Pitón? –

+0

Puedo pensar en dos respuestas perfectamente correctas pero completamente diferentes a esto, dependiendo de lo que esté haciendo su desarrollo de aplicaciones web ** con **. De hecho, las respuestas completamente diferentes hasta ahora dadas cubren esas, pero nadie puede estar seguro de cuál es la correcta, o si no es la tercera. Por favor, edite su pregunta para incluir la tecnología utilizada. –

+0

Ha solucionado el problema ~ hubiera sido bueno si hubiera publicado algún código de ejemplo – Mawg

Respuesta

33

es su $HOME var en UNIX, que generalmente es /home/username.

"Su casa", que significa el hogar del usuario que está ejecutando el comando cd ~/MyDocuments/ es cd /home/user_executing_cd_commnd/MyDocuments

+1

'~' puntos en su '$ HOME', que puede ser cualquier directorio (es decir, no necesariamente'/home/username'). –

+0

editado. Gracias por señalar eso. – dierre

14

A menos que usted está escribiendo un script de shell o utilizando algún otro idioma que no conoce a sustituir el valor de $HOME para ~, las tildes en las rutas de archivos no tienen un significado especial y se tratarán como cualquier otro carácter no especial.

Si está escribiendo un guión de shell, los shells no interpretan tildes a menos que ocurran como el primer carácter en un argumento. En otras palabras, ~/file se convertirá en /path/to/users/home/directory/file, pero ./~/file se interpretará literalmente (es decir, "un archivo llamado file en un subdirectorio de . llamado ~").

Utilizado en las URL, la interpretación de la tilde como una abreviatura del directorio de inicio de un usuario (por ejemplo, http://www.foo.org/~bob) es una convención tomada de Unix. La implementación es completamente específica del servidor, por lo que deberá verificar la documentación de su servidor web para ver si tiene algún significado especial.

Cuestiones relacionadas