首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python模块2】- 模块搜索顺序、内置属性、开发原则

一、模块的搜索顺序1》Python解释器在导入模块时,对模块文件的搜索顺序:搜索顺序:搜索当前目录指定模块名的文件,如果有就直接接导入如果没有,就会到系统目录搜索指定模块名的文件提醒:在开发时给文件起名...文件和模块同名报错验证:新建一个random.py文件和模块同名,可以看出PyCharm也给我们提示了(randinth函数有个灰色底纹),此时再来运行文件,报错2》 模块内置属性__file__Python...中,每一个模块都有一个内置属性__file__,这个内置属性可以查看模块的完整路径。...python文件就是一个模块在导入文件时,文件中所有没有任何缩进的代码都会被执行一遍代码验证:文件中所有没有任何缩进的代码都会被执行一遍md_模块文件代码:print("小夏开发的模块文件")md_测试导入文件代码...__name__是python的一个内置属性,记录着一个字符串(保存的是一个字符串)如果是被其他文件导入的,__name__就是模块名如果是当前执行的程序,__name__是__main__(永远是固定的

68620
您找到你想要的搜索结果了吗?
是的
没有找到

Python __file__属性:查看模块的源文件路径

前面章节提到,当指定模块(或包)没有说明文档时,仅通过 help() 函数或者 __doc__ 属性,无法有效帮助我们理解该模块(包)的具体功能。...在这种情况下,我们可以通过 __file__ 属性查找该模块(或包)文件所在的具体存储位置,直接查看其源代码。...仍以前面章节创建的 my_package 包为例,下面代码尝试使用 __file__ 属性获取该包的存储路径: import my_package print(my_package....__file__) 程序输出结果为: D:\python3.6\lib\string.py 由此,通过调用 __file__ 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。...注意,并不是所有模块都提供 __file__ 属性,因为并不是所有模块的实现都采用 Python 语言,有些模块采用的是其它编程语言(如 C 语言)。

1.4K00

详解Python中函数和模块的特殊属性__annotations__

众所周知,Python是一种动态类型语言,也是强类型语言。在Python语言中,使用变量之前不需要声明其类型,直接赋值即可创建变量,变量初始类型取决于等号右侧表达式的值的类型。...在Python中,函数会维护一个特殊属性__annotations__,这是一个字典,其中的“键”是被注解的形参名,“值”为注解的内容。使用时并不要求注解的内容是Python中的类型,可以是任意内容。...Python函数有若干特殊属性,常用的几个如下图箭头所示,倒数第二个为__annotations__, ?...另外,在模块中也有个特殊属性__annotations__用于收集模块中变量的注解,但这些注解同样也不会创建对应的变量。例如,在下面的代码中,并没有创建变量e、f、g。 ?...Python官方文档对于模块特殊属性__annotations__的解释如下: ? 启动IDLE时,默认进入交互模式,是一个叫做__main__的命名空间,官方文档解释如下: ?

2.1K20

独家 | Pandas 2.0 数据科学家的游戏改变者(附链接)

从本质上讲,Arrow 是一种标准化的内存中列式数据格式,具有适用于多种编程语言(C、C++、R、Python 等)的可用库。...对于Python,有PyArrow,它基于Arrow的C++实现,因此速度很快!...以下是使用Hacker News数据集(大约650 MB)读取没有pyarrow后端的数据与使用pyarrow后端读取数据之间的比较(许可证CC BY-NC-SA 4.0): %timeit df =...其他值得指出的方面: 如果没有 pyarrow 后端,每个列/特征都存储为自己的唯一数据类型:数字特征存储为 int64 或 float64,而字符串值存储为对象; 使用 pyarrow,所有功能都使用...同样,使用 pyarrow 引擎读取数据肯定更好,尽管创建数据配置文件在速度方面没有显著改变。 然而,差异可能取决于内存效率,为此我们必须进行不同的分析。

35530

Spark Parquet详解

,也就是嵌套类型; hobby_name属于hobbies中元素的属性,必须有一个,类型为string; home_page属于hobbies中元素的属性,可以有一个也可以没有,类型为string;...Repetition level和Definition level是很重要的,这二者都存放于Row group的元数据中; 高效压缩:注意到每个Column都有一个type元数据,那么压缩算法可以通过这个属性来进行对应压缩...,另外元数据中的额外k/v对可以用于存放对应列的统计信息; Python导入导出Parquet格式文件 最后给出Python使用Pandas和pyspark两种方式对Parquet文件的操作Demo吧,...') 上述代码需要注意的是要单独安装pyarrow库,否则会报错,pandas是基于pyarrow对parquet进行支持的; PS:这里没有安装pyarrow,也没有指定engine的话,报错信息中说可以安装...,pyarrow就可以。。。。

1.6K43

Mongodb数据库转换为表格文件的库

依赖于快速 PyArrow mongo2file 依赖于 PyArrow 库。它是 C++ Arrow 的 Python 版本实现。...PyArrow 目前与 Python 3.7、3.8、3.9 和 3.10 兼容。...警告: PyArrow 目前只支持到 win64 位 ( Python 64bit ) 操作系统。...当没有多线程(当然这里的多线程并不是对同一文件进行并行操作,文件写入往往是线程不安全的)、 数据表查询语句无优化时,并且当数据达到一定量级时(比如 100w 行),单表单线程表现出来的效果真是让人窒息。...在 mongo2file 在进行大数据量导出时表现的并没有多么优秀。导致的主要原因可能是: 采用的 xlsxwriter 库写入 excel 时是积极加载(非惰性)的,数据全部加载至内存后插入表格。

1.5K10

python已安装了一个包,但是导入包中的模块时报错没有这个包

执行import sys; print(sys.path)查看python搜索路径,确保自己的模块python搜索路径中 python的搜索路径与包(package) python的搜索路径其实是一个列表...,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败: >>> import sys >>> sys.path ['', 'C:\\Python33..., 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33...\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages', 'E:\\python'] >>> 当安装第三方模块的时候,如果不是按照标准方式安装...,则为了能够引用(import)这些模块,必须将这些模块的安装路径添加到sys.path中,有以下几种方法: 最简单的方法:是在sys.path的某个目录下添加路径配置文件,最常见的就是在…/site-package

5.5K10

助力工业物联网,工业大数据之ODS层构建:代码结构及修改【九】

01:ODS层构建:代码结构及修改 目标:了解整个自动化代码的项目结构及实现配置修改 路径 step1:工程代码结构 step2:代码模块功能 step3:代码配置修改 实施 工程代码结构...​ 代码模块功能 auto_create_hive_table:用于实现ODS层与DWD层的建库建表的代码 cn.itcast datatohive CHiveTableFromOracleTable.py...到DWD层表中 - fileformat - AvroTableProperties.py:Avro文件格式对象,用于封装Avro建表时的字符串 - OrcTableProperties.py:Orc...文件格式对象,用于封装Orc建表时的字符串 - OrcSnappyTableProperties.py:Orc文件格式加Snappy压缩的对象 - TableProperties.py:用于获取表的属性的类...\\meta_data\\tablenames.txt") 修改2:auto_create_hive_table.cn.itcast.utils.ConfigLoader # 10行:修改为实际的连接属性配置文件的地址

60810

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券