Why are underscores better than hyphens for file names?

前端 未结 2 1760
闹比i
闹比i 2020-12-28 11:52

From Building Skills in Python:

A file name like exercise_1.py is better than the name execise-1.py. We can run both program

相关标签:
2条回答
  • 2020-12-28 12:09

    From that very document (p.368, Section 30.2 'Module Definition'):

    Note that a module name must be a valid Python name... A module's name is limited to letters, digits and "_"s.

    0 讨论(0)
  • 2020-12-28 12:19

    The issue here is that importing files with the hyphen-minus (the default keyboard key -; U+002D) in their name doesn't work since it represents minus signs in Python. So, if you had your own module you wanted to import, it shouldn't have a hyphen in its name:

    >>> import test-1
      File "<stdin>", line 1
        import test-1
                   ^
    SyntaxError: invalid syntax
    >>> import test_1
    >>>
    

    Larger programs tend to be logically separated into many different modules, hence the quote

    the name with the hyphen limits our ability to write larger and more sophisticated programs.

    0 讨论(0)
提交回复
热议问题