##文件的基本操作(单个文件)
##t = open ('/下一层/下一层','r',encoding = 'utf-8')
##t = open (r'../text.txt','r',encoding = 'utf-8')#相对路径(相当于当前这个路径而言)
##print(t.read()) #../表示上一层 /表示下一层
## 绝对路径
##t = open (r'D:text.txt','r',encoding = 'utf-8') #r防止字符串转义
##t = open (r'../text.txt','r',encoding = 'utf-8') #encoding 编码格式
#open打开 第一个参数为打开文件名字
##第二个参数为打开模式(默认为r形式 如果文件不存在报错)
#w 只写的形式打开文件 文件不管存不存在创建新的文件覆盖原来文件
##t = open (r'text.txt','w',encoding = 'utf-8')
# a 追加 只写形式打开文件 文件存在 打开 文件不存在 则创建
##t = open (r'text.txt','a',encoding = 'utf-8')
##t = open (r'text.txt','a+',encoding = 'utf-8') #a+表示可读可写
##t.write('nhello word') #write 写入单行 传字符串形式
##t.flush() #文件最开始写入会写入到内存中只有调用flush刷新到硬盘中才能保存到文件
##t.writelines(['hello wordn','第二个n'])#多行写入 .writelines([ ]) n换行
##t.seek(0) # .seek()调整光标 0表示为最前面
##print(t.read()) #读取文件内容 .read()
##print(t.tell()) #查看文件光标当前所在位置 .tell()
##print(t.read(10)) #10表示读取指定数量字符 不写 就读取全部
##print(t.readline()) #.readline() 读取一行
##print(t.readline())
##print(t.readlines()) #.readlines() 读取多行 用列表接收 需要获得指定行数可以用切片
##t.close() # close() # 关闭文件也会自动保存修改到文件
#with open 上下文管理器自动保存关闭文件 ,不需要手动关闭
##with open('text.txt','a+',encoding='utf-8',errors ='ignore') as f:
## f.seek(0) #errors ='ignore' 表示编码不管对不对强行打开文件
## print(f.read())
#文件流 (临时假文件) /io流
##import io
####io.StringIO() #生成字符串临时假文件
##str_io =io.StringIO()
####str_io.write('this is python')
####str_io.seek(0)
####print(str_io.read())
####print(str_io.getvalue()) #.getvalue 不用改光标直接获取内容
##
####io.BytesIO() #生成二进制临时假文件
##byt_io = io.BytesIO() #主要用来存储图像、音频、视频等
##byt_io.write(b'abcd')
##print(byt_io.getvalue())
#文件目录操作 和操作系统交互,需要用到os模块
import os
##print(os.getcwd()) #os.getcwd()返回当前文件目录
##os.chdir() #切换路径
##print(os.listdir(path='.')) #查看文件和子目录,默认为当前目录
##print(os.mkdir('xw')) #创建文件夹
##print(os.rename('xw','xxw')) #对文件夹改名字
##print(os.rmdir('xw')) #rmdir删除文件夹
##print(os.makedirs('xw/xxw/xxxw/xxxxw')) #创建多层文件夹
##print(os.removedirs('xw/xxw/xxxw/xxxxw')) #删除多层文件夹
##remove移动文件
##system调用系统命令
##print(list(os.walk(r'C:Users86139DesktopPython核心编程笔记加其他python基础笔记')))
##walk遍历文件夹
##os.path路径操作
##print(os.remove('text.txt')) #删除文件
#模块(py文件)
##Python中的模块,指的就是一个py文件
#模块文件名字不要和系统内置模块名一样
#from datetime import datetime as dt (就是把datetime模块改名为dt)
#使用from来导入部分内容 as 给导入的内容来重新命名
import sys
print(sys.path) #使用 sys.path 来查看可以导入模块的路径
##如果要添加其他的路径,只需要使用: sys.path.append(path) 讲路径添加列表即可
#包 所谓的包,就是存放多个模块的文件夹
##Python中的模块,指的就是一个py文件夹
##import datetime #直接导入整个包
from datetime import datetime,time,date #从包中指定导入具体的模块
print(datetime.now())
#库 存放多个相关模块的文件夹
_name__ 代表模块的名字
__main__ 当模块直接运行时的文件名
当文件被导入时,if 判断返回False
sys.argv 获取参数传入
包管理
包内的模块相互导入使用: from .module/..module import obj (as new_name)
3. 模块出现相对路径导入,则只可以被导入,不能直接运行



