Skip to main content

Command Line Dan Path

Dikala kamu memprogram sesuatu, terkadang kamu ingin melakukan interaksi dengan file-file yang ada di sistem. Untuk itu, kamu perlu mengetahui bagaimana suatu program mencari suatu file dalam konteks command line.

Seperti yang sudah dijelaskan sebelumnya, path memiliki dua cara representasi, yaitu relative dan absolute. Selain itu, command line memiliki konsep current working directory yang digunakan untuk melengkapi informasi yang ada pada relative path. Kedua hal ini saling bekerja sama dalam jalannya suatu perintah input-output (seperti membuka file). Untuk mengerti hubungan kedua hal tersebut, perhatikan contoh berikut:

Terdapat suatu file python bernama printer.py yang berisi sebagai berikut:

printer.py
with open("file.txt", "r") as f:
print(f.read())

Program ini membuka file file.txt, lalu mencetak isi file tersebut. Kamu dapat menjalankan script tersebut dengan menggunakan perintah python printer.py. Saat program mencoba untuk membuka file.txt, program akan mencari file tersebut pada cwd dari command line saat ini.

Quiz!

Anggap kondisi command line sedang berada pada D:\. Dan file `sample.txt` berada di `D:\contoh\sample.txt`. Apabila terdapat script Python berikut, lalu dijalankan, apakah script akan error?
with open("contoh/sample.txt", "r") as f:
print(f.read())

Quiz!

Anggap kondisi command line sedang berada pada F:\foo. Dan file `sample.txt` berada di `F:\sample.txt`. Apabila terdapat script Python berikut, lalu dijalankan, apakah script akan error?
with open("sample.txt", "r") as f:
print(f.read())

Quiz!

Anggap kondisi command line sedang berada pada C:\foo. Dan file `sample.txt` berada di `C:\sample.txt`. Apabila terdapat script Python berikut, lalu dijalankan, apakah script akan error?
with open(r"D:\sample.txt", "r") as f:
print(f.read())

Quiz!

Anggap kondisi command line sedang berada pada C:\foo. Dan file `sample.txt` berada di `G:\sample.txt`. Apabila terdapat script Python berikut, lalu dijalankan, apakah script akan error?
with open(r"G:\sample.txt", "r") as f:
print(f.read())