1.源码编程器怎么做游戏教程
2.pythonå
¨å¥è¯¾ç¨ï¼
3.springboot教程菜鸟(springboot入门教程)
4.求C++全套视频教程,源码百度网盘可下,编程如果有源码最好。频教谢谢!
5.python基础教程(代码编程教学入门)
源码编程器怎么做游戏教程
要制作一个源码编程器游戏教程,你需要从以下几个方面入手:
首先,编程确定游戏的频教源码交易网源码主题和玩法。确定你要教大家玩的源码游戏类型,比如是编程动作游戏、冒险游戏、频教策略游戏还是源码其他类型的游戏。同时,编程也要考虑游戏的频教主题和目标,比如是源码让玩家学习编程的基础知识,还是编程让玩家通过编程来创造自己的游戏。
其次,频教选择适合的编程语言和工具。选择一种易于理解和使用的编程语言,如Python、JavaScript等。同时,也要选择一款适合游戏开发的工具,如Pygame、Unity等。
接下来,开始编写代码。根据游戏的主题和玩法,编写相应的校园跑腿源码代码。在编写代码的过程中,要注意代码的可读性和可维护性,同时也要注意代码的性能和安全性。
最后,制作教程视频或文档。将编写好的代码进行测试和优化,然后将代码和教程文档进行整理,制作成视频或文档的形式,方便玩家学习和参考。
需要注意的是,制作游戏教程需要一定的时间和精力,需要耐心和不断的学习和改进。同时,也要注意教程的质量和准确性,确保玩家能够从中获得有用的知识和技能。
pythonå ¨å¥è¯¾ç¨ï¼
æ¸ ååå¸ç¨å°æ¶è®²è§£Pythonæç¨ï¼æ´æ´å¤éï¼æ¿èµ°ä¸è°¢
æ¬å¥Python课ç¨éï¼ä»é¶åºç¡å¼å§ï¼å ¨é¢è®²è§£Pythonåºç¡ï¼ç´è¾¾å¯ä»¥æåç¥ç»ç½ç»çå¢çã
æ们åé æ§çå¢å äºï¼æåæ°æ®ç»æåç®æ³ãæåç¥ç»ç½ç»é¡¹ç®ã让é¶åºç¡å¦åå¨å¦ä¹ Pythonæ¶å°±å¼å§æ¥è§¦é«æ·±çåºå±ç¥è¯ãç¥ç»ç½ç»åºå±å®ç°çç¥è¯ã
å å®¹å ±åç« ï¼è®²è§£äºPythonåºç¡çæ¹æ¹é¢é¢ï¼å¯ä»¥ä½ä¸ºPythonå¦ä¹ è çâå®å ¸âãåæ¶ï¼ç©¿æäº3个大åå®æ项ç®ï¼
1.å¦å 大æ游æã
éç¨æ¸¸æå¼åçæ¹å¼ï¼å¯æäºä¹ï¼å¿«ä¹ä¸ææ¡Pythonåºç¡ã
2.æåç®æ³åæ°æ®ç»æã
ç®æ³åæ°æ®ç»ææ¯å¾å¤å¤§å ¬å¸é¢è¯çä¸äºéæ©ï¼æ们è¿é讲解å 容çåæ¶ï¼æææå¸¦ä½ å®ç°ä¸ä¸ªä¸ªåºå±ç®æ³ï¼å°å åç»æå®ã
3.æåç¥ç»ç½ç»ã
Pythonæ¯äººå·¥æºè½ç第ä¸è¯è¨ãæ们åé æ§çå¨åºç¡è¯¾ç¨ä¸å°±å å ¥äºå¦ä½ç¼åä¸ä¸ªèªå·±çç¥ç»ç½ç»ï¼ä¸ºè¸å ¥ç¥ç»ç½ç»ç大é¨æä¸âåå®åºç¡âã
æ¬å¥è§é¢ä¸å ±éï¼æ¬å¥è§é¢å ±å3å£ï¼
第ä¸å£ãåºç¡ç¯ãPythonåºç¡ï¼éï¼
第äºå£ãæé«ç¯ãPythonæ·±å ¥åæ©å±ï¼éï¼
第ä¸å£ãæ©å±ç¯ãç½ç»ç¼ç¨ãå¤çº¿ç¨ãæ©å±åºï¼éï¼
第åå£ãé«æç¯ãç®æ³ãPythonæºç ãå½æ°å¼ç¼ç¨ãæå·¥å®ç°ç¥ç»ç½ç»ï¼éï¼
ç®å½ï¼
ä¸Pythonåºç¡
äºæ°æ®åºç¼ç¨
ä¸Liunxç³»ç»
åç½é¡µç¼ç¨
äºVUEæ¡æ¶
å Flaskæ¡æ¶
è·åæ¹å¼ï¼
ç§ä¿¡â1âè·å
ç§ä¿¡æ¹æ³ï¼ç¹å»å¤´åç¹å»åå¤â1âå³å¯
请é®è°æé è°±çPythonå ¨å¥è§é¢æç¨ï¼æ±æ¨èå享Pythonåºç¡å°é«çº§è§é¢æç¨ç¾åº¦ç½çå è´¹èµæºå¨çº¿å¦ä¹ ?
é¾æ¥:
æåç :kkch
Pythonåºç¡å°é«çº§è§é¢æç¨ã5ãpython项ç®å¼åã4ãPyhonå®æå¼åã3ãpythonè¿ç»´ããPythonè¿é¶å¼åããPythonåºç¡å¼åï¼é¶åºç¡å ¥é¨å¦ä¹ ï¼ãå æå®è£ å ãpython-3.7.0.rarå®è£ å 论ä¸åªç¬è«çèªæä¿®å »7ï¼æ£å表达å¼è®ºä¸åªç¬è«çèªæä¿®å »6ï¼æ£å表达å¼è®ºä¸åªç¬è«çèªæä¿®å »5ï¼æ£å表达å¼è½®ä¸åªç¬è«çèªæä¿®å »4ï¼OOXX论ä¸åªç¬è«çèªæä¿®å »3ï¼éè论ä¸åªç¬è«çèªæä¿®å »2ï¼å®æ论ä¸åªç¬è«çèªæä¿®å »
Python主è¦è¦å¦é£äºè¯¾ç¨åï¼
é¾æ¥:
æåç :sj
è´ºå£åPythonè½»æ¾å ¥é¨å°é¡¹ç®å®æï¼ç»å ¸å®æ´çï¼ï¼è¶ æ¸ è§é¢ï¼ç¾åº¦ç½ç?
springboot教程菜鸟(springboot入门教程)
学妹想学SpringBoot,连夜整理一篇SpringBoot入门最详细教程笔记
凭借开箱即用,远离繁琐的配置等特性,SpringBoot已经成为Java开发者人人必学必会的开源项目。那么开发者该如何快速上手SpringBoot呢?
那请问SpringBoot到底是啥?SpringBoot是Spring框架的扩展和自动化,它消除了在Spring中需要进行的XML(EXtensibleMarkupLanguage)文件配置(若习惯XML配置,则依然可以使用),使得开发变得更快、更高效、更自动化。
微服务:每一个功能元素最终都是spring注入源码一个可独立替换和独立升级的软件单元。
在maven的settings.xml配置文件的profiles标签添加以下配置:
把maven整合到idea。
项目目录:
HelloWorldMainApplication:
HelloController:
运行结果:
打开浏览器访问:
1、我们在pom.xml文件中假如以下代码:
2、然后,我们将应用打包
3、然后再target文件夹下就可以看到spring-boot--helloworld-1.0-SNAPSHOT.jar
4、复制到桌面(随便哪,个人选择),打开cmd窗口,切换到jar包所在位置,我的是桌面,然后输入:java-jarspring-boot--helloworld-1.0-SNAPSHOT.jar,运行效果如下。
5、打开浏览器访问:,同样可以看到HelloWord
这样的部署就变得十分简单了。
小伙伴们,帮忙一键三连呀
题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在Java学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的ambari源码解析资料得到学习提升
故此将并将重要的Java进阶资料包括并发编程、JVM调优、SSM、设计模式、spring等知识技术、阿里面试题精编汇总、常见源码分析等录播视频免费分享出来,需要领取的麻烦评论区领取
从零开始学SpringBoot之SpringBootWebSocket原理篇前言:
这节我们介绍下WebSocket的原理。一、websocket与
Upgrade:websocket
Connection:Upgrade
Sec-WebSocket-Key:x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol:chat,superchat
Sec-WebSocket-Version:
Origin:
熟悉HTTP的童鞋可能发现了,这段类似HTTP协议的握手请求中,多了几个东西。我会顺便讲解下作用。
2.1Upgrade和Connection
Upgrade:websocket
Connection:Upgrade
这个就是Websocket的核心了,告诉Apache、Tomcat、Nginx等服务器:注意啦,我发起的是Websocket协议,快点帮我找到对应的助理处理~不是那个老土的HTTP。
2.2Sec-WebSocket
Sec-WebSocket-Key:x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol:chat,superchat
Sec-WebSocket-Version:
首先,?Sec-WebSocket-Key是一个Baseencode的值,这个是浏览器随机生成的,告诉服务器:你妹,不要忽悠窝,我要验证尼是不是真的是Websocket助理。
然后,?ibootstrap 源码下载Sec_WebSocket-Protocol是一个用户定义的字符串,用来区分同URL下,不同的服务所需要的协议。简单理解:今晚我要服务A,别搞错啦~
最后,?Sec-WebSocket-Version是告诉服务器所使用的WebSocketDraft(协议版本),在最初的时候,Websocket协议还在Draft阶段,各种奇奇怪怪的协议都有,而且还有很多期奇奇怪怪不同的东西,什么Firefox和Chrome用的不是一个版本之类的,当初Websocket协议太多可是一个大难题。。不过现在还好,已经定下来啦~大家都使用的一个东西~脱水:服务员,我要的是岁的噢→_→
然后服务器会返回下列东西,表示已经接受到请求,成功建立Websocket啦!
HTTP/1.SwitchingProtocols
Upgrade:websocket
Connection:Upgrade
Sec-WebSocket-Accept:HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol:chat
这里开始就是HTTP最后负责的区域了,告诉客户,我已经成功切换协议啦~
Upgrade:websocket
Connection:Upgrade
依然是固定的,告诉客户端即将升级的是Websocket协议,而不是mozillasocket,lurnarsocket或者shitsocket。
然后,?Sec-WebSocket-Accept这个则是经过服务器确认,并且加密过后的Sec-WebSocket-Key。服务器:好啦好啦,知道啦,给你看我的IDCARD来证明行了吧。后面的,Sec-WebSocket-Protocol则是表示最终使用的协议。
至此,HTTP已经完成它所有工作了,接下来就是完全按照Websocket协议进行了。具体的协议就不在这阐述了。
——————技术解析部分完毕——————
你说了这么久,那到底Websocket有什么鬼用,pressionThreshold"value=""/
/bean
/property
propertyname="opTimeout"value=""/
propertyname="timeoutExceptionThreshold"value=""/
propertyname="locatorType"value="CONSISTENT"/
propertyname="hashAlg"
valuetype="net.spy.memcached.DefaultHashAlgorithm"KETAMA_HASH/value
/property
propertyname="failureMode"value="Redistribute"/
propertyname="useNagleAlgorithm"value="false"/
/bean
求C++全套视频教程,百度网盘可下,如果有源码最好。谢谢!
李明杰《小时快速精通C++和外挂实战》(高清视频)百度网盘链接: /s/1RtRIZ5XS6Dae7besjIVABA
提取码: pchs 复制这段内容后打开百度网盘手机App,操作更方便哦若资源有问题欢迎追问~
python基础教程(代码编程教学入门)
python入门教程?
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识。或许可以喜欢上python这个易学,精简,开源的语言。此套教程,不但有视频教程,还有源码分享,让大家能真正打开python的大门,进入这个领域。现在互联网巨头,都已经转投到人工智能领域,而人工智能最好的编程语言就是python,未来前景显而易见。黑马程序员是国内最早开设人工智能的机构。
一、首先先推荐一个教程
8天深入理解python教程:
主要讲解,python开发环境的构建,基础的数据类型,字符串如何处理等简单的入门级教程。
二、第二个教程,是系统的基础知识,学习周期大概一个月左右的时间,根据自己的学习能力吸收能力来定。初学者只要跟着此套教程学习,入门完全没有问题。
学完后可掌握的核心能力
1、掌握基本的Linux系统操作;
2、掌握Python基础编程语法;
3、建立起编程思维和面向对象思想;
可解决的现实问题:
字符串排序,切割,逆置;猜数字、飞机大战游戏;
市场价值:
具备编程思维,掌握Python基本语法,能开发出一些小游戏
所涉及知识点:
教程地址:
三、拓展教程
1、网络爬虫-利用python实现爬取网页神技
第一天:
第二天:
2、Python之web开发利刃
第一天:
第二天:
3、python之大数据开发奇兵
python基础教程
运算
a=
b=
c=0
c=a+b
print"1-c的值为:",c
c=a-b
print"2-c的值为:",c
c=a*b
print"3-c的值为:",c
c=a/b
print"4-c的值为:",c
c=a%b
print"5-c的值为:",c
a=2
b=3
c=a**b
print"6-c的值为:",c
a=
b=5
c=a//b
print"7-c的值为:",c
python比较
a=
b=
c=0
if(a==b):
print"1-a等于b"
else:
print"1-a不等于b"
if(a!=b):
print"2-a不等于b"
else:
print"2-a等于b"
if(ab):
print"3-a不等于b"
else:
print"3-a等于b"
if(ab):
print"4-a小于b"
else:
print"4-a大于等于b"
if(ab):
print"5-a大于b"
else:
print"5-a小于等于b"
a=5
b=
if(a=b):
print"6-a小于等于b"
else:
print"6-a大于b"
if(b=a):
print"7-b大于等于a"
else:
print"7-b小于a"
赋值
a=
b=
c=0
c=a+b
print"1-c的值为:",c
c+=a
print"2-c的值为:",c
c*=a
print"3-c的值为:",c
c/=a
print"4-c的值为:",c
c=2
c%=a
print"5-c的值为:",c
c**=a
print"6-c的值为:",c
c//=a
print"7-c的值为:",c
逻辑运算符:
a=
b=
if(aandb):
print"1-变量a和b都为true"
else:
print"1-变量a和b有一个不为true"
if(aorb):
print"2-变量a和b都为true,或其中一个变量为true"
else:
print"2-变量a和b都不为true"
a=0
if(aandb):
print"3-变量a和b都为true"
else:
print"3-变量a和b有一个不为true"
if(aorb):
print"4-变量a和b都为true,或其中一个变量为true"
else:
print"4-变量a和b都不为true"
ifnot(aandb):
print"5-变量a和b都为false,或其中一个变量为false"
else:
print"5-变量a和b都为true"
in,notin
a=
b=
list=[1,2,3,4,5];
if(ainlist):
print"1-变量a在给定的列表中list中"
else:
print"1-变量a不在给定的列表中list中"
if(bnotinlist):
print"2-变量b不在给定的列表中list中"
else:
print"2-变量b在给定的列表中list中"
a=2
if(ainlist):
print"3-变量a在给定的列表中list中"
else:
print"3-变量a不在给定的列表中list中"
条件
flag=False
name='luren'
ifname=='python':#判断变量否为'python'
flag=True#条件成立时设置标志为真
print'welcomeboss'#并输出欢迎信息
else:
printname
num=5
ifnum==3:#判断num的值
print'boss'
elifnum==2:
print'user'
elifnum==1:
print'worker'
elifnum0:#值小于零时输出
print'error'
else:
print'roadman'#条件均不成立时输出
循环语句:
count=0
while(count9):
print'Thecountis:',count
count=count+1
print"Goodbye!"
i=1
whilei:
i+=1
ifi%:#非双数时跳过输出
continue
printi#输出双数2、4、6、8、
i=1
while1:#循环条件为1必定成立
printi#输出1~
i+=1
ifi:#当i大于时跳出循环
break
forletterin'Python':#第一个实例
print'当前字母:',letter
fruits=['banana','apple','mango']
forfruitinfruits:#第二个实例
print'当前水果:',fruit
print"Goodbye!"
获取用户输入:raw_input
var=1
whilevar==1:#该条件永远为true,循环将无限执行下去
num=raw_input("Enteranumber:")
print"Youentered:",num
print"Goodbye!"
range,len
fruits=['banana','apple','mango']
forindexinrange(len(fruits)):
print'当前水果:',fruits[index]
print"Goodbye!"
python数学函数:
abs,cell,cmp,exp,fabs,floor,log,log,max,min,mod,pow,round,sqrt
randrange
访问字符串的值
var1='HelloWorld!'
var2="PythonRunoob"
print"var1[0]:",var1[0]
print"var2[1:5]:",var2[1:5]
转义字符
格式化输出
print"Mynameis%sandweightis%dkg!"%('Zara',)
字符串函数:
添加元素
list=[]##空列表
list.append('Google')##使用append()添加元素
list.append('Runoob')
printlist
删除元素
list1=['physics','chemistry',,]
printlist1
dellist1[2]
print"Afterdeletingvalueatindex2:"
printlist1
列表操作
列表方法
删除字典
dict={ 'Name':'Zara','Age':7,'Class':'First'};
deldict['Name'];#删除键是'Name'的条目
dict.clear();#清空词典所有条目
deldict;#删除词典
print"dict['Age']:",dict['Age'];
print"dict['School']:",dict['School'];
字典的函数:
当前时间戳:
importtime
time.time()
格式化日期输出
importtime
printtime.strftime("%Y-%m-%d%H:%M:%S",time.localtime())
printtime.strftime("%a%b%d%H:%M:%S%Y",time.localtime())
a="SatMar::"
printtime.mktime(time.strptime(a,"%a%b%d%H:%M:%S%Y"))
获取某个月日历:calendar
importcalendar
cal=calendar.month(,1)
print"以下输出年1月份的日历:"
printcal
当前日期和时间
importdatetime
i=datetime.datetime.now()
print("当前的日期和时间是%s"%i)
print("ISO格式的日期和时间是%s"%i.isoformat())
print("当前的年份是%s"%i.year)
print("当前的月份是%s"%i.month)
print("当前的日期是%s"%i.day)
print("dd/mm/yyyy格式是%s/%s/%s"%(i.day,i.month,i.year))
print("当前小时是%s"%i.hour)
print("当前分钟是%s"%i.minute)
print("当前秒是%s"%i.second)
不定长参数:
*lambda:匿名函数
def....
python模块搜索路径
获取用户输入
str=raw_input("请输入:")
print"你输入的内容是:",str
input可以接收表达式
open参数
write要自己添加换行符
读取个字符
重命名:os.rename
os.remove
os.mkdiros.chdir
os.getcwd
os.rmdir
open参数
file的方法
异常:
try:
fh=open("testfile","w")
fh.write("这是一个测试文件,用于测试异常!!")
exceptIOError:
print"Error:没有找到文件或读取文件失败"
else:
print"内容写入文件成功"
fh.close()
try:
fh=open("testfile","w")
fh.write("这是一个测试文件,用于测试异常!!")
finally:
print"Error:没有找到文件或读取文件失败"
用户自定义异常:
os模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:
|序号|方法及描述|
|1|
os.access(path,mode)
检验权限模式|
|2|
os.chdir(path)
改变当前工作目录|
|3|
os.chflags(path,flags)
设置路径的标记为数字标记。|
|4|
os.chmod(path,mode)
更改权限|
|5|
os.chown(path,uid,gid)
更改文件所有者|
|6|
os.chroot(path)
改变当前进程的根目录|
|7|
os.close(fd)
关闭文件描述符fd|
|8|
os.closerange(fd_low,fd_high)
关闭所有文件描述符,从fd_low(包含)到fd_high(不包含),错误会忽略|
|9|
os.dup(fd)
复制文件描述符fd|
||
os.dup2(fd,fd2)
将一个文件描述符fd复制到另一个fd2|
||
os.fchdir(fd)
通过文件描述符改变当前工作目录|
||
os.fchmod(fd,mode)
改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。|
||
os.fchown(fd,uid,gid)
修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。|
||
os.fdatasync(fd)
强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。|
||
os.fdopen(fd[,mode[,bufsize]])
通过文件描述符fd创建一个文件对象,并返回这个文件对象|
||
os.fpathconf(fd,name)
返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix,Unix,和其它)。|
||
os.fstat(fd)
返回文件描述符fd的状态,像stat()。|
||
os.fstatvfs(fd)
返回包含文件描述符fd的文件的文件系统的信息,像statvfs()|
||
os.fsync(fd)
强制将文件描述符为fd的文件写入硬盘。|
||
os.ftruncate(fd,length)
裁剪文件描述符fd对应的文件,所以它最大不能超过文件大小。|
||
os.getcwd()
返回当前工作目录|
||
os.getcwdu()
返回一个当前工作目录的Unicode对象|
||
os.isatty(fd)
如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true,否则False。|
||
os.lchflags(path,flags)
设置路径的标记为数字标记,类似chflags(),但是没有软链接|
||
os.lchmod(path,mode)
修改连接文件权限|
||
os.lchown(path,uid,gid)
更改文件所有者,类似chown,但是不追踪链接。|
||
os.link(src,dst)
创建硬链接,名为参数dst,指向参数src|
||
os.listdir(path)
返回path指定的文件夹包含的文件或文件夹的名字的列表。|
||
os.lseek(fd,pos,how)
设置文件描述符fd当前位置为pos,how方式修改:SEEK_SET或者0设置从文件开始的计算的pos;SEEK_CUR或者1则从当前位置计算;os.SEEK_END或者2则从文件尾部开始.在unix,Windows中有效|
||
os.lstat(path)
像stat(),但是没有软链接|
||
os.major(device)
从原始的设备号中提取设备major号码(使用stat中的st_dev或者st_rdevfield)。|
||
os.makedev(major,minor)
以major和minor设备号组成一个原始设备号|
||
os.makedirs(path[,mode])
递归文件夹创建函数。像mkdir(),但创建的所有intermediate-level文件夹需要包含子文件夹。|
||
os.minor(device)
从原始的设备号中提取设备minor号码(使用stat中的st_dev或者st_rdevfield)。|
||
os.mkdir(path[,mode])
以数字mode的mode创建一个名为path的文件夹.默认的mode是(八进制)。|
||
os.mkfifo(path[,mode])
创建命名管道,mode为数字,默认为(八进制)|
||
os.mknod(filename[,mode=,device])
创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。
|
||
os.open(file,flags[,mode])
打开一个文件,并且设置需要的打开选项,mode参数是可选的|
||
os.openpty()
打开一个新的伪终端对。返回pty和tty的文件描述符。|
||
os.pathconf(path,name)
返回相关文件的系统配置信息。|
||
os.pipe()
创建一个管道.返回一对文件描述符(r,w)分别为读和写|
||
os.popen(command[,mode[,bufsize]])
从一个command打开一个管道|
||
os.read(fd,n)
从文件描述符fd中读取最多n个字节,返回包含读取字节的字符串,文件描述符fd对应文件已达到结尾,返回一个空字符串。|
||
os.readlink(path)
返回软链接所指向的文件|
||
os.remove(path)
删除路径为path的文件。如果path是一个文件夹,将抛出OSError;查看下面的rmdir()删除一个directory。|
||
os.removedirs(path)
递归删除目录。|
||
os.rename(src,dst)
重命名文件或目录,从src到dst|
||
os.renames(old,new)
递归地对目录进行更名,也可以对文件进行更名。|
||
os.rmdir(path)
删除path指定的空目录,如果目录非空,则抛出一个OSError异常。|
||
os.stat(path)
获取path指定的