165 lines
5.1 KiB
Plaintext
165 lines
5.1 KiB
Plaintext
|
||
=================================
|
||
Notes
|
||
Author: Flora Chen
|
||
-_- -_- -_- -_- -_- -_- -_- -_-
|
||
=================================
|
||
|
||
******模块的导入*****
|
||
模块就是python文件,一个py文件称之为一个模块。
|
||
|
||
import 模块名 (同级目录)
|
||
from 包名(文件夹) import 模块名
|
||
|
||
# 多层级下的模块导入-从项目路径下一级级的导入
|
||
from 包名.包名.包名(...) import 模块名
|
||
|
||
示例:
|
||
目录结构如下:
|
||
python27Class/LearningNotesTXT/test1.py
|
||
python27Class/test.py
|
||
python27Class/FloraHomeWork_0225.py
|
||
|
||
在FloraHomeWork_0225.py中要用到test.py以及test1.py中的变量和函数
|
||
|
||
# 第一种导入方式:
|
||
import test
|
||
# 第二种导入方式:
|
||
from python27Class import test
|
||
from python27Class.LearningNotesTXT import test1
|
||
|
||
******标识符*****
|
||
python中自己起的名字都叫标识符(变量名,函数名,模块名,包名,类名)。
|
||
标识符:只能由数字字母下划线组成,不能使用数字开头。
|
||
|
||
******python中的包*****
|
||
新建python的包,包下面会默认带有__init__.py文件
|
||
from 包名 import __init__.py中的变量
|
||
|
||
示例:
|
||
目录结构如下:
|
||
python27Class/Pack/__init__.py/变量aaa
|
||
python27Class/FloraHomeWork_0225.py
|
||
|
||
在FloraHomeWork_0225.py中导入
|
||
from python27Class.Pack import aaa
|
||
print(aaa)
|
||
|
||
******导入模块中的某个变量(函数、类)*****
|
||
from 模块名 import 变量名
|
||
from 包名(文件夹).模块 import 变量名/函数名(多个用逗号隔开)
|
||
|
||
示例:
|
||
目录结构如下:
|
||
python27Class/Pack/test3.py
|
||
python27Class/FloraHomeWork_0225.py
|
||
|
||
在FloraHomeWork_0225.py中导入
|
||
# 导入变量
|
||
from python27Class.Pack.test3 import test3
|
||
# 导入函数
|
||
from python27Class.Pack.test3 import func_03
|
||
# 调用变量以及函数
|
||
print(test3)
|
||
func_03()
|
||
|
||
******导入的时候起别名*****
|
||
from 模块名 import 变量名 as 别名(自定义的名称)
|
||
|
||
示例:
|
||
from random import randint as rt
|
||
print(rt(1, 100))
|
||
|
||
******python内置的魔法变量__name__******
|
||
注意:在进行模块导入的时候,会将被导入的模块执行一遍
|
||
__name__的值不是固定的;
|
||
直接运行该文件:__name__值是__main__
|
||
在进行模块导入的时候, __name__的值是导入的模块名/包名(文件夹).模块名
|
||
|
||
示例:
|
||
python27Class/Pack/test3.py/print('test3.py中的__name__:', __name__)
|
||
python27Class/FloraHomeWork_0225.py
|
||
|
||
在FloraHomeWork_0225.py中导入
|
||
from python27Class.Pack import test3 # 打印:test3.py中的__name__: python27Class.Pack.test3
|
||
|
||
如果不希望当前模块中的某些代码在被导入的时候被执行,可以用如下方式解决:
|
||
# 这个条件只有在直接运行的时候才会成立。
|
||
# 通过模块导入的方式,该条件不会成立。
|
||
if __name__ == '__main__':
|
||
print('被其他模块导入的时候,这部分代码不会执行')
|
||
|
||
******查看模块导入的搜索路径******
|
||
import sys
|
||
for i in sys.path:
|
||
print(i)
|
||
|
||
******路径处理******
|
||
# 相对路径表示法:
|
||
. 表示当前目录
|
||
.. 表示父级目录
|
||
|
||
示例:
|
||
import os
|
||
# 获取绝对路径 .表示当前文件
|
||
res = os.path.abspath('.')
|
||
print(res)
|
||
|
||
# 获取当前文件的父级目录的绝对路径
|
||
print(os.path.abspath('..'))
|
||
|
||
# 获取当前文件的父级目录的绝对路径
|
||
res = os.path.abspath(__file__)
|
||
print(os.path.dirname(res))
|
||
|
||
# 获取项目路径,通过是通过这样的方法
|
||
Basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||
|
||
|
||
******路径拼接******
|
||
os.path.join()
|
||
示例:
|
||
import os
|
||
Basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||
print(os.path.join(Basedir, 'ChyClass'))
|
||
|
||
******魔法变量__file__******
|
||
__file__表示当前文件的文件名
|
||
注意:pycharm下面做了优化处理,打印的是一个文件路径
|
||
|
||
示例:
|
||
# 打印的结果是一样的,但是出来路径是斜杠/
|
||
print(__file__) # 输出结果:E:/PycharmProject/ChyClass/python27Class/FloraHomeWork_0225.py
|
||
# 打印的结果是一样的,但是打印出来路径是反斜杠\
|
||
print(os.path.abspath(__file__)) # 输出结果:E:\PycharmProject\ChyClass\python27Class\FloraHomeWork_0225.py
|
||
|
||
******OS模块中的扩展方法******
|
||
Linux命令 os模块中的方法
|
||
pwd os.getcwd() 获取当前的工作路径
|
||
cd os.chdir() 切换路径
|
||
ls os.listdir() 获取当前工作路径下的文件和文件夹信息
|
||
mkdir os.mkdir() 当前工作路径下创建文件夹
|
||
rmdir os.rmdir() 当前工作路径下删除文件夹
|
||
os.path.isfile 判断给定的路径是否文件路径
|
||
os.path.isdir 判断给定的路径是否是文件夹路径
|
||
|
||
示例:
|
||
import os
|
||
# 获取当前的工作路径
|
||
print(os.getcwd())
|
||
|
||
# 切换路径到C盘
|
||
os.chdir('C:')
|
||
print(os.getcwd())
|
||
|
||
# 获取当前工作路径下的文件和文件夹信息
|
||
print(os.listdir('..'))
|
||
|
||
# 当前工作路径下创建文件夹
|
||
os.mkdir('ccca') # 如果已存在,无法创建,会报错
|
||
|
||
# 判断给定的路径是否文件路径
|
||
print(os.path.isfile('E:\PycharmProject\ChyClass\python27Class'))
|
||
|
||
# 判断给定的路径是否是文件夹路径
|
||
print(os.path.isdir('E:\PycharmProject\ChyClass\python27Class')) |