web-dev-qa-db-fra.com

Passer un emplacement de fichier à python

Je suis complètement nouveau pour Linux et Ubuntu.

J'ai écrit le code python sous Windows et je souhaite l'exécuter sous Ubuntu. Il utilise un fichier texte pour la saisie. Le "chemin d'accès au fichier" dans Windows se présente comme suit

c:user\documents\python\file.txt

Comment l'emplacement est-il écrit pour Ubuntu?

6
Jaffels

Plutôt que de coder en dur les chemins dans votre script Python, nous devrions utiliser le opération de chemin depuis le module os .

os.path.expanduser (chemin) élargit le chemin d'accès au répertoire de base de l'utilisateur.
os.path.join (chemin1, * chemin2 *, ...) joint des éléments de chemin avec le séparateur approprié
os.sep donne le séparateur de chemin dépendant du système d'exploitation (/ pour Linux/Unix, \ pour Windows).
os.getcwd () donne le répertoire de travail actuel.
os.path.abspath (chemin) donne le chemin absolu dépendant du système d'exploitation d'un chemin donné.

Exemple:

>>>import os
>>>path = os.path.join(os.path.expanduser('~'), 'documents', 'python', 'file.txt')
>>>print (path)

Résultat

/home/user/documents/python/file.txt ## when on Ubuntu
C:\Users\user\documents\python\file.txt ## when running Windows
18
Takkat

Je n'ai pas la permission d'ajouter des commentaires ... donc je vais juste essayer de répondre.

Le chemin sous UNIX ressemblera à ceci: /home/user/file.txt

Lorsque vous vous trouvez dans un dossier et que vous voulez obtenir le chemin absolu d'un fichier, vous pouvez utiliser la commande readlink:

readlink -f file.txt

exemple sur notre serveur:

$ readlink -f format.log 
/home/dli/format.log
2
dli

Les chemins de fichiers sont écrits comme-

/path/to/file

Tout ce qui se trouve dans votre dossier de départ se trouve dans /home/username/

Donc, si vous avez un fichier sur votre bureau, il se trouve dans /home/username/Desktop/

Les autres partitions sont montées dans /media par défaut.

Si vous voulez directement obtenir le chemin d'un fichier, vous pouvez le copier et le coller dans votre éditeur de texte. Cela devrait vous donner le chemin d'accès à votre fichier. Placez un\avant chaque espace dans le chemin pour "échapper" à cet espace. par exemple. /media/myuseraccount/Desktop/an awesome file serait écrit comme:

/media/myuseraccount/Desktop/an\ awesome\ file

Une autre chose à noter est que, sous Linux, vos noms de fichiers sont sensibles à la casse. Par conséquent, "bureau" n'est pas la même chose que "Bureau".

Enfin, un raccourci vers votre dossier de base consiste à taper ~

Vous pouvez donc accéder à votre bureau en tapant:

~/Desktop

et vous pouvez accéder à votre dossier personnel en tapant:

~/
1
Sukarn