na tej stronie: open(), ścieżka do pliku, CWD (’bieżący katalog roboczy'), r 'surowy ciąg' prefiks, os.getcwd (), os.chdir ().

odwołując się do pliku z pełną ścieżką i nazwą

Jak pokazano w samouczkach #12 i #13, możesz odnieść się do pliku lokalnego w Pythonie, używając pełnej ścieżki i nazwy pliku., Below, you are opening up a file for reading:

>>> myfile = open('C:/Users/narae/Desktop/alice.txt') # Windows>>> mytxt = myfile.read()>>> myfile.close()
>>> myfile = open('/Users/narae/Desktop/alice.txt') # Mac and Linux>>> mytxt = myfile.read()>>> myfile.close()

In Windows, a full file directory path starts with a drive letter (C:, D:. etc.)., W Linuksie i OS-X zaczyna się od”/”, które nazywa się root. Katalogi są oddzielone ukośnikiem”/”. Możesz wyszukać pełną ścieżkę katalogu i nazwę pliku poprzez jego „właściwości”. Zobacz jak to się robi w tym FAQ.

odwoływanie się do pliku w systemie Windows

w systemie Windows istnieje kilka dodatkowych sposobów odwoływania się do pliku. Dzieje się tak, ponieważ natywnie ścieżka do Pliku Windows używa ukośnika wstecznego „\” zamiast ukośnika. Python pozwala używać obu w systemie Windows, ale jest kilka pułapek, na które należy uważać., Podsumowując:

skróty nazw plików i CWD (bieżący katalog roboczy)

tak więc korzystanie z pełnej ścieżki katalogu i nazwy pliku zawsze działa; powinieneś używać tej metody. Możliwe jednak, że widziałeś pliki nazwane tylko po ich nazwie, np. ' alice.txt ' w Pythonie. Jak to się robi?

kluczowa jest tu koncepcja bieżącego katalogu roboczego (CWD). Możesz myśleć o tym jak o folderze, w którym aktualnie działa Twój Python. Do tej pory używaliśmy ścieżki absolutnej, która zaczyna się od najwyższego katalogu. Ale jeśli odniesienie do pliku nie zaczyna się od góry (np. ' alice.,txt', ' ling1330 / alice.txt'), Python zakłada, że zaczyna się w CWD („ścieżka względna”).
oznacza to, że odniesienie tylko do nazwy będzie skuteczne tylko wtedy, gdy plik znajduje się w CWD Pythona. Pamiętaj jednak, że Twój CWD może się zmienić. Ponadto Twój Python ma różne początkowe ustawienia CWD w zależności od tego, czy pracujesz ze skryptem Pythona, czy w środowisku powłoki.

  • w skrypcie Pythona:
    kiedy wykonujesz skrypt, Twój CWD jest ustawiony na katalog, w którym znajduje się twój skrypt., Dlatego możesz odnosić się do pliku w skrypcie po jego nazwie tylko pod warunkiem, że plik i skrypt znajdują się w tym samym katalogu. Przykład:

    myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py 

  • w powłoce Pythona:
    w powłoce, początkowe ustawienie CWD zależy od systemu. W systemie Windows domyślną lokalizacją jest często 'C:/program Files (x86) / Python35-32′ (co jest niewygodne — zobacz tę stronę „Podstawowe konfiguracje” lub ten FAQ aby to zmienić). W OS-X jest to zwykle '/ Users/username / Documents', gdzie nazwa użytkownika jest twoim identyfikatorem użytkownika. (Użytkownicy komputerów Mac powinni zobaczyć to często zadawane pytania, aby dowiedzieć się, jak zmienić ustawienia.,)O ile Twój plik nie znajduje się w Twoim CWD, masz dwie opcje:
    1. Zmień swój CWD do katalogu pliku lub
    2. skopiuj lub przenieś plik do twojego CWD. (Nie zaleca się, ponieważ CWD powłoki może się zmienić.)

zobacz ten zrzut ekranu i następną sekcję, w której dowiesz się, jak pracować z ustawieniami CWD w powłoce Pythona.

Wyszukiwanie i zmiana CWD

moduł Pythona zapewnia narzędzia do wyświetlania i modyfikowania bieżącego katalogu roboczego. Poniżej ilustruje, jak znaleźć swój CWD (.getcwd ()) I zmienić go w inny katalog (.chdir ())., Poniżej znajduje się przykład dla systemu operacyjnego windows: zauważ, że CWD zwracane przez interpreter Pythona jest w formacie ścieżki do Pliku Windows: używa odwróconego ukośnika ” \ ” dla separatora katalogów, a każda instancja jest unikana. Podczas gdy Python pozwala użytkownikom systemu Windows używać stylu Linux/OS-X ” / ” w ścieżkach plików, wewnętrznie używa natywnego formatu ścieżki plików dla systemu operacyjnego.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *