python怎么导入本地文件_在python中导入本地包

本文详细介绍了在Python中如何导入本地文件和包,包括直接导入、使用import *以及通过__init__.py初始化文件。通过示例解释了__init__.py的作用,以及如何利用它来隐藏包的内部结构,简化类的导入方式。
摘要由CSDN通过智能技术生成

你只得到你进口的东西。因此,在main中,只得到DirA和{}。你可以用以下方法之一使用它们:import DirA

DirA.something_in_init_py()

# Importing hello:

import DirA.hello

DirA.hello.something_in_hello_py()

# Using a named import:

from DirA.hello import something_in_hello_py

something_in_hello_py()

在DirB中,也只需使__init__.py为空。__all__的唯一用途是用于当您想导入*时使用的,因为正如他们所说,显式优于隐式。在

但如果你好奇的话,它是这样工作的:

^{pr2}$

默认情况下,import *将导入它能找到的所有不以下划线开头的内容。指定__all__将其导入的内容限制为__all__中定义的名称。见this question for more details。在

编辑:关于初始化。

__init__.py并没有真正连接到进口的东西。它只是一个具有以下属性的特殊文件:它的存在意味着这个目录是一个python包,其中有几个模块。如果它不存在,python将拒绝从目录中导入任何内容。在

它总是在加载目录中的任何其他内容之前加载。在

其内容将作为包本身提供。在

试着把这个放进DirA/__init__.py:foo = 42

现在,在你的主要:from DirA import foo

print(foo) # 42

它很有用,因为您可以导入__init__.py中的一些子模块来隐藏包的内部结构。假设您使用Author、Book和Review类构建一个应用程序。为了便于阅读,您在一个包中为每个类提供自己的文件。现在,您必须导入完整路径:from myapp.author import Author

from myapp.book import Book

from myapp.review import Review

显然不是最佳选择。现在假设你在你的__init__.py中放上这些精确的行,你可以这样简化你的main:from myapp import Author, Book, Review

Python将加载__init__.py,它将依次加载所有子模块并导入类,使它们在包中可用。现在,main不需要知道类在哪里实际实现。在

MOVIELENS数据集是一个常用的用于推荐系统开发和研究的数据集,含了用户对电影的评分和电影的详细信息等数据。下面简单介绍如何通过Python导入MOVIELENS数据集,并对数据进行一些简单的处理。 首先,从MOVIELENS官网下载数据集,并解压到本地目录。数据集括三个文件:ratings.csv、movies.csv和links.csv。其,ratings.csv文件含了用户对电影的评分信息,movies.csv文件含了电影的详细信息,links.csv文件含了电影在IMDB和The Movie Database网站上的链接信息。 接下来,我们使用Python的pandas库来导入数据集。pandas是Python一个强大的数据处理库,可以方便地进行数据读取、清洗、转换等操作。 ```python import pandas as pd # 读取ratings.csv文件 ratings = pd.read_csv('ratings.csv') # 输出前5行数据 print(ratings.head()) ``` 输出结果如下: ``` userId movieId rating timestamp 0 1 1 4.0 964982703 1 1 3 4.0 964981247 2 1 6 4.0 964982224 3 1 47 5.0 964983815 4 1 50 5.0 964982931 ``` 接下来,我们可以对数据集进行一些简单的处理。例如,我们可以统计每个电影的平均评分,并按照评分从高到低排序。 ```python # 读取movies.csv文件 movies = pd.read_csv('movies.csv') # 合并ratings和movies数据集 data = pd.merge(ratings, movies, on='movieId') # 按照电影id分组,计算每个电影的平均评分 mean_ratings = data.groupby('movieId')['rating'].mean() # 按照平均评分从高到低排序 sorted_ratings = mean_ratings.sort_values(ascending=False) # 输出前10个电影的平均评分 print(sorted_ratings.head(10)) ``` 输出结果如下: ``` movieId 88448 5.0 100556 5.0 143031 5.0 143511 5.0 143559 5.0 6201 5.0 102217 5.0 102084 5.0 6192 5.0 145994 5.0 Name: rating, dtype: float64 ``` 以上就是使用Python导入MOVIELENS数据集并进行简单处理的方法。通过pandas库,我们可以方便地读取、处理和分析大规模的数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值