9
votes

moyen le plus simple de programmer un système de fichiers virtuel sous Windows avec Python

Je veux programmer un système de fichiers virtuel sous Windows avec Python.

C'est-à-dire un programme de Python dont l'interface est en fait une "Windows exploratrice". Vous pouvez créer et manipuler des objets de type de fichier, mais au lieu d'être créé sur le disque dur en tant que fichiers réguliers gérés par mon programme et, disons, stockés à distance ou crypté ou comprimé ou versionné, ou quoi que je puisse faire avec python. < / p>

Quel est le moyen le plus simple de le faire?


4 commentaires

Tout d'abord. Faites une liste complète de ce que vous voulez faire. Puis choisissez le premier élément de cette liste et si vous avez un doute sur cet élément spécifique, vous pouvez demander ici une solution. Comme il est vrai maintenant, cette question est trop large.


Je suis d'accord avec Oscar. Il ne semble pas que vous construisiez un système de fichiers du tout, mais plutôt une fenêtre qui agit comme une fenêtre comme et explorateur, mais qui peut lire et écrire à d'autres systèmes de fichiers existants, tels qu'un site FTP (à distance) ou un volume compressé ou crypté (fonctionnalités des fichiers zip ou des bibliothèques de cryptage).


J'ai écrit que je bâche (ou souhaitez construire) un système de fichiers virtuel


Toute chance en les mettant en œuvre ?! Y a-t-il un repo github ??? :)


5 Réponses :


1
votes

Si vous essayez d'écrire un système de fichiers virtuel (je peux vous mal comprendre) - je regarderais un format de fichier de conteneur. VHD est bien documenté avec HDI et OSQ HDI et (intégré). Il y a essentiellement deux choses que vous devez faire. On est dont vous avez besoin de choisir un format de fichier / conteneur. Après cela, il est aussi simple que d'écrire l'API pour manipuler ce conteneur. Si vous souhaitez que cela soit manipulé sur Internet, choisissez un protocole de transport, alors écrivez un service (émulerait un pilote de système de fichiers) qui écoute sur un port de certains portiers et manipule ce conteneur à l'aide de votre API


0 commentaires

2
votes

Est-ce qu'il doit être natif de Windows? Il y a au moins un protocole pouvant être parcouru à la fois par l'Explorateur Windows et desservi par des bibliothèques de Python gratuites: FTP. Collez votre programme derrière PYFTPDLIB et vous avez terminé.


0 commentaires

8
votes

Bien que peut-être pas encore mûr (malheureusement, je n'ai aucune expérience de première main avec elle), pywinfuse < / a> looks exactement comme ce que vous recherchez.


0 commentaires

3
votes

regarder dokan un système de fichiers de mode utilisateur pour Windows. Il y a des fixations de rubis, .NET (et Java par 3ème partie) disponibles, et je ne pense pas que ce sera difficile d'écrire des liaisons Python non plus.


0 commentaires

2
votes

Vous pourriez être intéressé par pyfileSystem ;

une couche d'abstraction de système de fichiers pour Python

pyfileSystem est une couche d'abstraction pour les systèmes de fichiers. De la même manière que les objets de type de fichier de Python fournissent un moyen courant d'accéder aux fichiers, PyfileSystem fournit un moyen courant d'accéder à l'ensemble des systèmes de fichiers. Vous pouvez écrire un code indépendant de la plate-forme pour fonctionner avec des fichiers locaux, qui fonctionne également avec l'un des systèmes de fichiers pris en charge (ZIP, FTP, S3, etc.).

Quelle est la description de la page d'accueil ne fait pas de publicité est que vous pouvez alors Expose Cette abstraction à nouveau en tant que système de fichiers, entre autres SFTP, FTP (bien que actuellement défavorable , probablement fixable ) et dokan ( Dito < / a>) ainsi que Fuse .


3 commentaires

L'OP a cherché le contraire, je crois - pour un moyen d'exposer ses données en tant que système de fichiers.


@ Eugenemayevski'eldoscorp qui est ce que les exposer font - ma réponse pourraient probablement bénéficier d'une certaine verbosité, je vais l'étendre plus tard sur


@ Eugenemayevski'eldoscorp J'ai ajouté un peu de texte - je n'ai pas réalisé que la page d'accueil ne mentionne pas les fonctions exposées, car j'ai trouvé pyfilesystem en cherchant explicitement quelque chose avec python et dokan ...