PythonClassChy/python27Class/pythonLearningNotes/flora_0225_notes.txt

165 lines
5.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=================================
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'))