zoukankan      html  css  js  c++  java
  • import和from import陷阱二

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #from os import path
    import os.path
    path='/home/vamei/doc/file.txt'
    print os.path.basename(path)
    print os.path.dirname(path)
     
    info=os.path.split(path)
    print info
    path2=os.path.join('/','home','vamei','doc','file1.txt')
    print path2
    p_list=[path,path2]
    print p_list
    print os.path.commonprefix(p_list)
    print os.path.normpath(path2)


    正常输出结果

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from os import path
    #import os.path
    path='/home/vamei/doc/file.txt'
    print path.basename(path)
    print path.dirname(path)
     
    info=path.split(path)
    print info
    path2=path.join('/','home','vamei','doc','file1.txt')
    print path2
    p_list=[path,path2]
    print p_list
    print path.commonprefix(p_list)
    print path.normpath(path2)


    报错:AttributeError: 'str' object has no attribute 'basename'


    是因为导入path和定义的path变量名称冲突了,把path变量换个名字就可以。

    一般应该避免使用from..import而使用import语句,可以使程序更加易读,也可以避免名称的冲突。

  • 相关阅读:
    多线程与多进程
    Socket网络编程
    Python之路【第五篇】:面向对象及相关
    python 面向对象(进阶篇)
    面向对象
    day1
    day3
    day2
    黑马程序员--C语言中的指针(6)
    黑马程序员--C语言中的指针(5)
  • 原文地址:https://www.cnblogs.com/Nefeltari/p/4794610.html
Copyright © 2011-2022 走看看