首页 > 其他 > 详细

回顾os和sys

时间:2019-02-17 17:38:15      阅读:194      评论:0      收藏:0      [点我收藏+]
import sys
sys.argv[0] = __file__

sys.argv是显示程序本身路径,路径用列表储存

[C:/应用软件/python类/python程序/day25/day25.py]

而经常用到的__file__显示的也是当前路径,是字符串

C:/应用软件/python类/python程序/day25/day25.py
<class str>

所以要想两者相等,摘出来:sys.argv[0] = __file__ 

用print(sys.argv[0]  == __file__)判断一下,结果为真

True

 

对于os.path.abspath(path)则是规范化绝对路径

如__file__为

C:/应用软件/python类/python程序/day25/day25.py

而os.path.abspath(__file__)为

C:\应用软件\python类\python程序\day25\day25.py

是斜线(‘/‘和‘\‘)的不同,在写路径是,我们通常用上端向左的 反斜杠 ‘\‘,但是这种反斜杠写路径的时候,容易和python的\t,\n  重名,我们就在路径前加转译字符r,或者用  ‘\\‘  取代  ‘\‘(上文__file__写法)

print(rC:\应用软件\python类\python程序\day25\day25.py)
print(C:\\应用软件\\python类\\python程序\\day25\\day25.py)


#结果显示
C:\应用软件\python类\python程序\day25\day25.py
C:\应用软件\python类\python程序\day25\day25.py

如果使用正斜杠(上文os.path.abspath写法),就不会这么麻烦,不会出现上述情况

print(C:/应用软件/python类/python程序/day25/day25.py)

#结果
C:/应用软件/python类/python程序/day25/day25.py

 

此外,正斜杠可以用作除法,就是我们的除号

print(10/3) 

#结果
3.3333333333333335

以下是‘\t‘空四格和‘\n‘换行的例子

print()
print(\t啊)
print(\n啊)

#结果
啊
    啊

啊

 

os.path.split(__file__)可以把__file__的最后一个路径和之前的路径拆开,拆成一个元组

print(__file__)
print(os.path.split(__file__))

#结果
C:/应用软件/python类/python程序/day25/day25.py
(C:/应用软件/python类/python程序/day25, day25.py)

os.path.dirname和os.path.basename分别取元组的前后2个部分

print(os.path.dirname(__file__))
print(os.path.basename(__file__))

#结果
C:/应用软件/python类/python程序/day25
day25.py    

在开发规范中的,start作为启动文件,需要调用core中的scr主逻辑程序,这是就需要用到os模块了sys模块了

import sys,os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR)

from core import src
if __name__ == __main__:
    src.run

其中__name__在启动的文件中才会显示__main__

在被调用时,会显示被调用的文件名称

回顾os和sys

原文:https://www.cnblogs.com/wjw6692353/p/10391830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!