Hitta aktuell katalog och fil's katalog

Vilka kommandon kan jag använda i Python för att hitta:

  1. den aktuella katalogen (där jag befann mig i terminalen när jag körde Python-skriptet), och
  2. var den fil som jag utför är?
Lösning

Om du vill få fram den fullständiga sökvägen till katalogen som en Python-fil finns i skriver du så här i filen:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Observera att besvärjelsen ovan inte fungerar om du redan har använt os.chdir() för att ändra din nuvarande arbetskatalog, eftersom värdet av konstanten __file__ är relativt till den nuvarande arbetskatalogen och inte ändras av ett os.chdir()-anrop.)


För att få fram den aktuella arbetskatalogen använder du

import os
cwd = os.getcwd()

Dokumentationsreferenser för de moduler, konstanter och funktioner som används ovan:

  • Modulerna os och os.path.
  • Konstanten __file__.
  • os.path.realpath(path) (returnerar "den kanoniska sökvägen för det angivna filnamnet, med eliminering av alla symboliska länkar som påträffas i sökvägen ").
  • os.path.dirname(path) (returnerar "katalognamnet för sökvägen path")
  • os.getcwd() (returnerar "en sträng som representerar den aktuella arbetskatalogen ")
  • os.chdir(path) ("ändra den aktuella arbetskatalogen till path")
Kommentarer (8)

Nuvarande arbetskatalog: ```os.getcwd()````

Och attributet __file__ kan hjälpa dig att ta reda på var filen du kör ligger. Det här SO-inlägget förklarar allt: https://stackoverflow.com/questions/2632199/how-do-i-get-the-path-of-the-current-executed-file-in-python

Kommentarer (0)

1.För att få fram den aktuella katalogens fullständiga sökväg

    >>import os
    >>print os.getcwd()

o/p: "C :\Users\admin\myfolder"

1.För att få fram det aktuella mappnamnet i katalogen

    >>import os
    >>str1=os.getcwd()
    >>str2=str1.split('\\')
    >>n=len(str2)
    >>print str2[n-1]

o/p: "myfolder"

Kommentarer (4)