python基础语法总结(一)-- python类型转换函数+文件读写
目录
系统内置函数
最基础、常用的函数方法,可以不用import任何模块就能使用
'''系统常用内置函数'''
help(len) #help函数,查看某个函数的具体用法,打印方法定义时的注释(方法定义时下面第一行的注释)
callable(len) #查看一个obj是不是可以像函数一样调用,本例:True
repr(sys) #得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝
vars(sys) #返回一个object的属性和方法。结果为字典类型dictionary
dir(sys) #作用在类的对象obj上,则可以查看obj的属性以及方法,结果为list
dir(1) #可以看到1有abs、add、reduce等各种方法
eval("1/3") #表示合法的python表达式,返回这个表达式的执行结果,本例:0.3333333333333333
locals() #返回一个局部name space,用dictionary表示
globals() #返回一个全局name space,用dictionary表示
type(sys) #查看一个obj的类型
isinstance(obj,cls) #查看obj是不是cls的instance
issubclass(subcls,supcls) #查看subcls是不是supcls的子类
# 检查属性和方法是否存在
hasattr(sys,"exit") #查看一个obj是否有某个属性或者方法,本例:True
hasattr(sys,"abc") #本例:False
# 得到get属性和方法
func_exit = getattr(sys,"exit") #得到一个obj的属性或者方法
func_exit() #实际执行了sys的exit()方法
# 重写set属性和方法
setattr(sys,"api_version","abc") #为一个obj的属性或者方法设置新值
print(sys.api_version) #控制台输出:abc,而不是之前的:1013
def new_exit(): #准备工作:定义一个新的方法 new_exit()
print("execute!")
setattr(sys,"exit",new_exit) # 重写了sys.exit()方法,改为打印了execcute!的新方法
sys.exit() # 本例:打印台输出'execcute!',没有执行退出操作
# 删除 delete属性和方法
delattr(sys,"exit") #删除obj对应的属性或方法
sys.exit() #本例:提示exit()方法不存在
sys模块
'''sys常用'''
import sys
sys.argv #是一个list,包含本次python启动时,附带的所有命令行参数.
sys.stdout
sys.stdin
sys.stderr #分别表示标准输入输出,错误输出的文件对象.
sys.stdin.readline() #从标准输入读一行
sys.stdout.write("a") #屏幕输出a
sys.exit(exit_code) #退出程序
sys.modules #是一个dictionary,表示系统中所有可用的module
sys.platform #得到运行的操作系统环境
sys.path #是一个list,指明所有查找module,package的路径.相当于java的classPath
os模块
os模块主要是与操作系统的交互,包括获取当前用户、管理员权限、文件夹、文件等权限的修改
''' os 操作系统相关的调用和操作 '''
import os
os.environ # 一个dictionary 包含环境变量的映射关系 os.environ["HOME"] 可以得到环境变量HOME的值
os.chdir(dir) # 改变当前目录 os.chdir('d:\outlook') 注意windows下用到转义
os.getcwd() # 得到当前目录
#os.getegid() # 得到有效组id os.getgid() 得到组id
#os.getuid() # 得到用户id os.geteuid() 得到有效用户id
#os.setegid os.setegid() os.seteuid() os.setuid()
#os.getgruops() #得到用户组名称列表
os.getlogin() #得到用户登录名称
os.getenv('JAVA_HOME') #得到环境变量
os.putenv() # 设置环境变量
os.umask() # 设置umask
os.system('cmd') # 利用系统调用,运行cmd命令
# os举例
os.mkdir('C:/123/') # 创建文件夹
os.system("echo 'hello' > C:/a.txt") # 执行系统命令,本例:在a.txt文件中写入hello
os.listdir("C:/Users") # 列出文件夹下的文件名
os.rename('C:/a.txt','C:/b.txt') # 重命名
os.remove('C:/b.txt') # 删除文件
os.rmdir('C:/123') # 删除文件夹
os.path
## os.path
os.path.abspath("1.txt") # 当前目录下的某个文件路径,本例:E:\\WorkSpace\\Python\\BasicDemo\\1.txt(我的项目所在)
os.path.split(os.getcwd()) # 用于分开一个目录名称中的目录部分和文件名称部分。本例: ('E:\\WorkSpace\\Python', 'BasicDemo')
os.path.join(os.getcwd(), os.pardir, 'a', 'a.doc') #全成路径名称. 本例:E:\\WorkSpace\\Python\\BasicDemo\\..\\a\\a.doc
os.pardir # 表示当前平台下上一级目录的字符 ..
os.path.getctime("C:/b.txt") #返回文件或文件夹的ctime(创建时间)时间戳, 本例:1544406856.9305992
os.path.exists(os.getcwd()) # 判断文件是否存在
os.path.expanduser('~/dir') # 把~扩展成用户根目录
os.path.expandvars('$PATH') # 扩展环境变量PATH
os.path.isfile(os.getcwd()) # 判断是否是文件名
os.path.isdir('C:/123') # 判断是否是目录,1是0否
os.path.islink('C:/a.txt') # 是否是符号连接 windows下不可用
os.path.ismout(os.getcwd()) # 是否是文件系统安装点 windows下不可用
os.path.samefile(os.getcwd(), '/home/huaying') # 看看两个文件名是不是指的是同一个文件
os.path.walk('/home/huaying', test_fun, "a.c") # 遍历文件夹下所有文件,并进行处理,用法复杂,具体可百度
this模块
this模块没有什么实际作用,只是执行时,会打印出python的语言编写规范,给初学者以指导
import this
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
idle工具
在cmd窗口或linux命令行,输入idle回车执行时,会打开python自带的IDE开发环境,可以在其中编写python代码