Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1987932
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T08:45:13+00:00 2026-05-17T08:45:13+00:00

I was trying out one of the Python standard library modules, let’s call it

  • 0

I was trying out one of the Python standard library modules, let’s call it foo.bar.baz.

So I wrote a little script starting with

import foo.bar.baz

and saved it as foo.py.

When I executed the script I got an ImportError. It took me a while (I’m still learning Python), but I finally realized the problem was how I named the script. Once I renamed foo.py to something else, the problem went away.

So I understand that the import foo statement will look for the script foo.py before looking for the standard library foo, but it’s not clear to me what it was looking for when I said import foo.bar.baz. Is there some way that foo.py could have the content for that statement to make sense? And if not, why didn’t the Python interpreter move on to look for a directory hierarchy like foo/bar with the appropriate __init__.py‘s?.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T08:45:13+00:00Added an answer on May 17, 2026 at 8:45 am

    An import statement like import foo.bar.baz first imports foo, then asks it for bar, and then asks foo.bar for baz. Whether foo will, once imported, be able to satisfy the request for bar or bar.baz is unimportant to the import of foo. It’s just a module. There is only one foo module. Both import foo and import foo.bar.baz will find the same module — just like any other way of importing the foo module.

    There is actually a way for foo to be a single module, rather than a package, and still be able to satisfy a statement like import foo.bar.baz: it can add "foo.bar" and "foo.bar.baz" to the sys.modules dict. This is exactly what the os module does with os.path: it imports the right “path” module for the platform (posixpath, ntpath, os2path, etc), and assigns it to the path attribute. Then it does sys.modules["os.path"] = path to make that module importable as os.path, so a statement like import os.path works. There isn’t really a reason to do this — os.path is available without importing it as well — but it’s possible.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to figure out Python lambdas. Is lambda one of those "interesting" language
For the first time, I was trying out one of my Python scripts, which
I have a 32GB memory machine and I want to simulate trying out one
I am learning DirectX 11 right now, and was trying out one of the
My employer is currently trying out Fogbugz and one feature that would be nice
I'm trying to figure out why one of our migration scripts is taking forever
I am trying to animate sliding out one view from a window and simultaneous
I was trying out some exercises of db-class.org videos.There was one problem of finding
Been trying to sort this one out for a while. I'd really appreciate any
I've been trying to figure this one out for a bit using patterns or

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.