Я просто изучаю Python.Почему моя программа Python бросает исключение в зависимости от имени файла?
У меня есть файл со следующим содержанием
import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
Если я называю этот файл csv2.py
и называют:
python csv2.py
... это работает. Но если я называю этот файл csv.py
и запустить:
python csv.py
Это вызывает это исключение:
C:\Git\algotrading [master ≡ +3 ~0 -0 !]> python csv.py
Traceback (most recent call last):
File "csv.py", line 2, in <module>
import matplotlib.pyplot as plt
File "C:\Users\andrerpena\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>
import matplotlib.colorbar
File "C:\Users\andrerpena\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\colorbar.py", line 34, in <module>
import matplotlib.collections as collections
File "C:\Users\andrerpena\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\collections.py", line 36, in <module>
import matplotlib.mlab as mlab
File "C:\Users\andrerpena\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\mlab.py", line 172, in <module>
import csv
File "C:\Git\algotrading\csv.py", line 2, in <module>
import matplotlib.pyplot as plt
AttributeError: module 'matplotlib' has no attribute 'pyplot'
Он взял меня, как 40 минут, чтобы выяснить проблему. Я имею в виду, что проблема связана с именем файла.
Почему это происходит?
'csv' - это стандартный модуль, упакованный с Python, который' matplotlib' пытается импортировать. Вместо импорта стандартного модуля он импортирует * ваш * файл – Suever
'csv' является стандартным модулем Python. Не вызывайте свой файл 'csv.py', дайте ему другое имя. – DyZ
Спасибо. Я просто учился. Я этого не знал. –