Ett relativt filnamn (eller sökväg) anger platsen för en fil i förhållande till den aktuella arbetskatalogen (CWD). Det ger inte den fulla, absoluta vägen från roten till filsystemet. Istället använder den relativa referenser som `. '(Aktuell katalog),` ..' (överordnad katalog) och mappnamn för att ange filens position.
Exempel:
Låt oss säga att din nuvarande arbetskatalog är `/Home/User/Documents '.
* `/hem/användare/dokument/rapport.txt` är ett * absolut * filnamn. Det ger den fullständiga sökvägen från rotkatalogen (`/`).
* `rapport.txt` är ett * relativt * filnamn. Den antar att filen finns i den aktuella katalogen (`/Hem/användare/dokument").
* `../ bilder/diagram.png` är också ett * relativt * filnamn. Det betyder "gå upp en katalog (" .. "), sedan in i mappen" Bilder "och hitta" diagram.png ". Detta skulle hänvisa till`/hem/användare/bilder/diagram.png`.
* `./Data/Numbers.csv` är ett relativt filnamn. Den ledande `./` Är överflödig men anger den aktuella katalogen uttryckligen innan du går in i undermappen "Data" och pekar på `/Home/User/Documents/Data/Numbers.csv.
Varför använda relativa filnamn?
* Portabilitet: Relativa sökvägar gör din kod eller skript mer bärbara. Om du flyttar hela projektet till en annan plats på din dator eller en annan server kommer de relativa sökvägarna fortfarande att fungera korrekt, förutsatt att katalogstrukturen upprätthålls.
* läsbarhet: I många fall är relativa vägar kortare och lättare att förstå än långa absoluta stigar.
* Organisation: De hjälper till att hålla ditt projekt organiserat och undvika hårdkodning av absoluta vägar, som lätt kan bryta.
Begränsningar:
* Kontextberoende: Relativa vägar beror på den aktuella arbetskatalogen. Du måste se till att CWD är korrekt inställd innan du använder dem.
* tvetydighet: Utan att känna till CWD är en relativ väg meningslös.
Sammanfattningsvis ger relativa filnamn ett flexibelt och ofta bekvämare sätt att referera filer, särskilt inom en väldefinierad projektstruktur. Men deras beroende av CWD kräver noggrant övervägande av sammanhanget.