簡體   English   中英

python是否有文件命名規則?

[英]Are there file naming rules for python?

環境Python版本:3.4.2操作系統版本:OS X Mavericks

你好

我想用python做一些網絡抓取示例。

因此,我創建了腳本文件並將其命名為“ html.py”。 (在我的項目目錄中)

但是,當我用python3執行它時,它會產生這樣的錯誤。

-------------------------------------------錯誤消息----- ------------------------------------------

Traceback (most recent call last):
  File "html.py", line 1, in <module>
      from bs4 import BeautifulSoup
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/__init__.py", line 30, in <module>
      from .builder import builder_registry, ParserRejectedMarkup
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/builder/__init__.py", line 4, in <module>
      from bs4.element import (
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/element.py", line 5, in <module>
      from bs4.dammit import EntitySubstitution
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/dammit.py", line 11, in <module>
      from html.entities import codepoint2name
  File "/Users/tester/Project/Python/html.py", line 1, in <module>
      from bs4 import BeautifulSoup
ImportError: cannot import name 'BeautifulSoup'

但是,我通過“ sudo pip3 install BeautifulSoup4”安裝了“ BeautifulSoup4”。

而且,我檢查了它是否安裝在正確的路徑中。

奇怪的是,我嘗試使用python3 shell模式在其他目錄中導入“ BeautifulSoup4”(例如,不在我的項目目錄中),

它沒有錯誤。

僅當我在該目錄中執行腳本文件時才會出現錯誤。 (存在“ html.py”的地方)

那么,為什么會這樣呢?

並且,當我更改腳本文件名時,錯誤也會消失。 (html.py-> test_html.py)

文件名怎么了?

我是否不能將模塊名稱用作腳本文件?

html標准模塊的名稱。

我猜在某個時候,BeautifulSoup正在導入這個html模塊。 但是,Python(默認情況下)將首先在您正在運行的腳本文件的目錄中查找模塊。 因此它將查找並導入您的html.py而不是標准模塊。

sys.path文檔中

在程序啟動時初始化,此列表的第一項path [0]是包含用於調用Python解釋器的腳本的目錄。

您可以更改腳本的名稱(好主意),也可以修改sys.path來更改Python查找模塊的順序(壞主意)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM