全局变量 urllib模块 json模块
来源:互联网 发布:linux下没有.ssh目录 编辑:程序博客网 时间:2024/06/06 04:03
1、vars() 查看一个.py文件中的全局变量
print(vars()) #重点 __name__': '__main__ '__file__': 'C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.py' {'__spec__': None, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.py', '__package__': None, '__cached__': None, '__doc__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000AFF7E53E10>}
1> __doc__ 查看.py文件的注释
2> __file__ 本身.py文件的绝对路径
import osprint(__file__) #当前路径print(os.path.dirname(__file__)) #上一级目录C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.pyC:/Users/lenovo/PycharmProjects/老男孩
把一个路径导入到sys.pash中
import os,sysprint(sys.path) #查看导入模块时所寻找的路径print(__file__)a=os.path.dirname(__file__) #利用__file__获取当前文件的绝对路径print(os.path.dirname(__file__)) #利用os.pash.dirname(__file__路径)得到当前绝对路径的上一级目录print(os.path.join(a,"mokuai")) #利用os.pash.join()把俩个路径拼接起来b=os.path.join(a,"mokuai")sys.path.append(b) #把拼接后的路径加到寻找模块时查看的路径中print(sys.path) #查看当前需要导入模块时所寻找的路径['C:\\Users\\lenovo\\PycharmProjects\\老男孩', 'C:\\Users\\lenovo\\PycharmProjects\\老男孩', 'E:\\Python35\\python35.zip', 'E:\\Python35\\DLLs', 'E:\\Python35\\lib', 'E:\\Python35', 'E:\\Python35\\lib\\site-packages']C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.pyC:/Users/lenovo/PycharmProjects/老男孩C:/Users/lenovo/PycharmProjects/老男孩\mokuai['C:\\Users\\lenovo\\PycharmProjects\\老男孩', 'C:\\Users\\lenovo\\PycharmProjects\\老男孩', 'E:\\Python35\\python35.zip', 'E:\\Python35\\DLLs', 'E:\\Python35\\lib', 'E:\\Python35', 'E:\\Python35\\lib\\site-packages', 'C:/Users/lenovo/PycharmProjects/老男孩\\mokuai']
3>__name__ 如果是在自己的.py文件中__name__=="__main__",而如果是在一个文件中导入另外一个文件的话,打印另外一个文件的__name__就成了那个文件的文件名
常利用__name__=="__main__"来定义一个主文件
import ppppppppprint(__name__)print(pppppppp.__name__)__main__pppppppp
定义主文件
if __name__=="__main__": print("123")
2、urllib模块
import urllib #导入urllib模块from urllib import request #导入urllib中request方法 f=request.urlopen("http://ing.cnblogs.com/") #输入网址发送请求a=f.read().decode("utf-8") #输入并编码print(a)
查询各地天气的代码
import urllib #导入urllib模块from urllib import request #导入urllib中request方法 f=request.urlopen("http://www.weather.com.cn/adat/sk/101050101.html") #输入网址发送请求a=f.read().decode("utf-8") #输入并编码print(a)
3、json模块
json,用于字符串 和 python数据类型间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
json.loads()用于将字符串形式的字典,列表转换成相应的字典,列表(元祖不可以,应为其他语言中没用元祖)
import jsona="[1,2,3,4]"b='{"k1":1,"k2":2}' #当字符串为字典时{}外面必须是''单引号{}里面必须是""双引号print(json.loads(a))print(b)[1, 2, 3, 4]{"k1":1,"k2":2}
json.dumps()字典,列表转换成相应的字符串(元祖转换的时候转成字符串形式的列表)
import jsona=[1,2,3,4]b={"k1":1,"k2":2}print(json.dumps(a))print(json.dumps(b))[1, 2, 3, 4]{"k1": 1, "k2": 2}
json.dump()把一个字典或列表写到一个文件中写成字符串的形式
import jsona=[1,2,3,4]b=json.dump(a,open("db","a"))
json.load()把一个文件中的字符串以字典或列表的形式读出来
import jsonb=json.load(open("db","r"))print(b)
4.request(请求的意思)
用于发送http请求的,用python模拟浏览器浏览网页
import requests #导入request模块a=requests.get("http://www.weather.com.cn/adat/sk/101050101.html") #发送url地址并获取返回值aa.encoding="utf-8" #把获取到的内容进行编码b=a.text #text返回的内容print(b)
5、XML
获取QQ是否在线
import requests #导入request模块a=requests.get('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508') #发送请求并获取返回值a.encoding="utf-8" #编码b=a.text #读出内容print(b) #查看读出的内容属于什么类型from xml.etree import ElementTree as f #获取的字符串是xml格式的所以用xml方法a=f.XML(b) #用xml进行提取内容c=a.text #提取到内容后进行读取print(c)<?xml version="1.0" encoding="utf-8"?><string xmlns="http://WebXml.com.cn/">Y</string>Y
列车时刻表
import requestsa=requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=k234&UserID=')a.encoding="utf-8"b=a.textprint(b)from xml.etree import ElementTree as fa=f.XML(b)print(a.tag) #获取第一个节点的标签for i in a.iter("TrainDetailInfo"): #找到某一类节点进行循环 通过iter迭代TrainDetailInfo 我们可以把它看成一个列表 print(i) #通过打印获取一个迭代的对象 print(i.tag,i.attrib) #i.tag是获取节点的标签,i.attrib是获取标签的属性 print(i.find("TrainStation").text) #在TrainDetailInfo节点下找TrainStation标签 print(i.find("StartTime").text) #在TrainDetailInfo节点下找StartTime标签def iter(self, tag=None): 在当前节点的子孙中根据节点名称寻找所有指定的节点,并返回一个迭代器(可以被for循环)。
View Code
import requestsa=requests.get("http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=K234&UserID=")a.encoding="utf-8"b=a.textprint(b)from xml.etree import ElementTree as fc=f.XML(b)for i in c.iter("TrainDetailInfo"): print(i) print(i.tag,i.attrib) print(i.find("TrainStation").text,i.find("ArriveTime").text,i.find("StartTime").text,i.find("KM").text)上海(车次:K234\K235) None 11:12:00 0昆山 11:45:00 11:48:00 49苏州 12:12:00 12:16:00 84无锡 12:44:00 12:55:00 126常州 13:22:00 13:26:00 165镇江 14:13:00 14:16:00 237南京 15:04:00 15:16:00 301蚌埠 17:27:00 17:50:00 485徐州 19:38:00 19:58:00 649商丘 22:12:00 22:17:00 795开封 23:49:00 23:53:00 926郑州 00:37:00 01:14:00 998新乡 02:20:00 02:22:00 1078鹤壁 03:01:00 03:03:00 1144安阳 03:33:00 03:36:00 1185邯郸 04:11:00 04:16:00 1245邢台 04:47:00 04:51:00 1297石家庄 06:05:00 None 1406
0 0
- 全局变量 urllib模块 json模块
- urllib模块
- urllib模块
- urllib模块
- urllib模块
- urllib模块
- urllib模块
- urllib模块
- urllib模块和requests模块
- python中的urllib模块
- Python模块学习 --- urllib
- Python模块学习 --- urllib
- Python模块学习 --- urllib
- Python模块学习 ---- urllib
- Python urllib模块学习
- Python模块学习 --- urllib
- Python模块学习 --- urllib
- Python urllib模块
- 四级高频词汇---词根串讲---day1
- 现实应用实例
- HDU1014C++
- 初识正则表达式
- xml中俩种解析方式
- 全局变量 urllib模块 json模块
- ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法(勒索病毒原理)
- ubuntu16.04系统下的kernel 4.10的内核编译以及新增系统调用
- Shell echo命令
- Java 线程池
- 前端书写规范建议
- 运算
- 学习【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- java字符串