2009-08-25 15 views
9

Quiero programar un sistema de archivos virtual en Windows con Python.manera más fácil de programar un sistema de archivos virtual en Windows con Python

Es decir, un programa en Python cuya interfaz es en realidad una "ventana del explorador". Puede crear & manipular objetos similares a archivos, pero en lugar de crearlos en el disco duro como archivos regulares, los gestiono mi programa y, por ejemplo, se almacenan de forma remota, cifrados o comprimidos o versionados, o lo que sea que pueda hacer con Python.

¿Cuál es la forma más fácil de hacerlo?

+3

Primero de todos. Haga una lista completa de lo que quiere lograr. A continuación, elija el primer elemento de esa lista y, si tiene alguna duda sobre ese elemento específico, puede solicitar una solución aquí. Como es ahora, esta pregunta es demasiado amplia. – OscarRyz

+0

Estoy de acuerdo con Oscar. No parece que esté construyendo un sistema de archivos, sino una ventana que actúa como una ventana de explorador, pero que puede leer y escribir en otros sistemas de archivos existentes, como un sitio FTP (remotamente) o un volumen comprimido o cifrado (características de archivos zip o bibliotecas de cifrado). – Kibbee

+6

Escribí Estoy construyendo (o quiero construir) un sistema de archivos ** virtual ** – flybywire

Respuesta

8

Aunque quizás todavía no esté maduro (desafortunadamente no tengo experiencia de primera mano), pywinfuse parece exactamente como lo que estás buscando.

1

Si está tratando de escribir un sistema de archivos virtual (es posible que lo malinterprete) - Me gustaría ver un formato de archivo contenedor. El VHD está bien documentado junto con HDI y OSQ (integrado). Básicamente, hay dos cosas que debes hacer. Una es que debe decidir sobre un formato de archivo/contenedor. Después de eso, es tan simple como escribir la API para manipular ese contenedor. Si desea que se manipule a través de Internet, elija un protocolo de transporte y luego escriba un servicio (emularía un controlador de sistema de archivos) que escuche en un puerto determinado y manipule este contenedor utilizando su API

2

¿Necesita? ser nativo de Windows? Hay al menos un protocolo que puede explorar tanto el Explorador de Windows como las bibliotecas gratuitas de Python: FTP. Pegue su programa detrás de pyftpdlib y listo.

3

Eche un vistazo a Dokan un sistema de archivos en modo de usuario para Windows. Hay enlaces Ruby, .NET (y Java por terceros) disponibles, y tampoco creo que sea difícil escribir enlaces de python.

1

Usted podría estar interesado en PyFilesystem;

Una capa de abstracción de sistema de archivos para Python

PyFilesystem es una capa de abstracción para sistemas de ficheros. De la misma manera que los objetos similares a archivos de Python proporcionan una forma común de acceder a los archivos, PyFilesystem proporciona una forma común de acceder a sistemas de archivos completos. Puede escribir código independiente de la plataforma para trabajar con archivos locales, que también funciona con cualquiera de los sistemas de archivos admitidos (zip, ftp, S3, etc.).

lo que la descripción en la página web no hace publicidad es que se puede entonces expose esta abstracción de nuevo como un sistema de archivos, entre otros SFTP, FTP (aunque currently disfunct, probablemente fixable) y dokan (dito), así como fuse.

+0

OP buscó lo opuesto, creo, una forma de exponer sus datos como un sistema de archivos. –

+0

@ EugeneMayevski'EldoSCorp Eso es lo que hacen los submódulos 'expose' de PyFilesystem - mi respuesta probablemente podría beneficiarse de cierta verbosidad, la ampliaré más tarde en –

+1

@ EugeneMayevski'EldoSCorp Agregué un poco más de texto - No me di cuenta de que la página de inicio no Menciono las funciones de exposición, ya que encontré 'PyFilesystem' al buscar explícitamente algo con Python y Dokan ... –

Cuestiones relacionadas