Python 在同一目录中导入类
我有一个名为AsyncDownloaderTest的项目,它与Python 在同一目录中导入类,python,python-3.x,Python,Python 3.x,我有一个名为AsyncDownloaderTest的项目,它与main.py和AsyncDownloader.py位于同一目录中。我刚刚开始学习python,但问题似乎在于导入 main.py from .AsyncDownloader import AsyncDownloader ad = AsyncDownloader() ad.setSourceCSV("https://people.sc.fsu.edu/~jburkardt/data/csv/grades.csv","First na
main.py
和AsyncDownloader.py
位于同一目录中。我刚刚开始学习python,但问题似乎在于导入
main.py
from .AsyncDownloader import AsyncDownloader
ad = AsyncDownloader()
ad.setSourceCSV("https://people.sc.fsu.edu/~jburkardt/data/csv/grades.csv","First name")
print(ad.printURLs)
AsyncDownloader.py
import pandas as pd
class AsyncDownloader:
"""Download files asynchronously"""
__urls = None
def setSourceCSV(self, source_path, column_name):
self.source_path = source_path
self.column_name = column_name
# TODO Check if path is a valid csv
# TODO Store the urls found in column in a list
my_csv = pd.read_csv(source_path, usecols=[column_name], chunksize=10)
for chunk in my_csv:
AsyncDownloader.urls += chunk.column_name
def printURLs(self):
print(AsyncDownloader.urls)
我得到以下错误
ModuleNotFoundError:没有名为“\uuuu main\uuuuu.AsyncDownloader”的模块__main\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu不是一个包
是否与异步下载程序.py
在同一目录下?应该这样做
\uuuu init\uuuuuu.py
是一个空文件,表示目录包含包,并使函数和类可从该目录中的.py
文件导入
您可能也会丢失.AsyncDownloader的中的前导
。如果愿意,可以将导入更改为绝对导入:
from enclosing_folder.AsyncDownloader import AsyncDownloader
您是否在与AsyncDownloader.py
相同的目录中有\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy
?应该这样做
\uuuu init\uuuuuu.py
是一个空文件,表示目录包含包,并使函数和类可从该目录中的.py
文件导入
您可能也会丢失.AsyncDownloader
的中的前导
。如果愿意,可以将导入更改为绝对导入:
from enclosing_folder.AsyncDownloader import AsyncDownloader
我创建了一个名为\uuuu init\uuuuuuuuuuy.py
的空文件,但它不起作用。据我所知,\uuuuuu init\uuuuuuuuuuuy.py
是用于模块的,但在这里我只想包含一个classI,我不确定您是否可以以任何其他方式引入类或方法。请查看我的编辑以获得更多选项。太棒了!很高兴听到它有帮助。我创建了一个名为\uuu init\uuuuuuuuuuuuuuuuuuy.py
的空文件,但它不起作用。据我所知,\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuy.py
是用于模块的,但在这里我只想包含一个Classic,我不确定您是否可以以任何其他方式。请查看我的编辑以获得更多选项。太棒了!很高兴听到这有帮助。