Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

In tên script Python đang thực thi

Sử dụng sys.argv[0] để lấy đường dẫn script, trích xuất tên file.

Code

import sys

def main():
    program_path = sys.argv[0]
    # Tách tên file từ đường dẫn
    idx = program_path.rfind("\\") + 1  # Windows
    # idx = program_path.rfind("/") + 1  # Linux/Mac
    program_name = program_path[idx:]
    print(f"Program Name: {program_name}")

if __name__ == "__main__":
    main()

Kết quả

Program Name: python277.py

Cách hiện đại hơn (Python 3.4+)

from pathlib import Path
print(Path(__file__).name)  # Chỉ tên file
print(Path(__file__).stem)  # Tên file không extension

Lưu ý

  • sys.argv[0] có thể là đường dẫn tương đối hoặc tuyệt đối tùy cách chạy.
  • Khi chạy python -m module, sys.argv[0] là -m.
  • __file__ không khả dụng trong REPL interactif.