当前位置:   article > 正文

python import 相对路径_import folder python

import folder python

 

 

 

PYTHON获取当前目录路径和上级路径

在使用python的时候总会遇到路径切换的使用情况,如想从文件夹test下的test.py调用data文件夹下的data.txt文件:

 

一种方法可以在data文件下加入__init__.py 然后在test.py 中import data 就可以调用data.txt文件;

 

  1. .
  2. └── folder
  3. ├── data
  4. │ └── data.py
  5. └── test
  6. └── test.py

 另一种方法可以借助python os模块的方法对目录结构进行操作,下面就说一下这种方式的使用:

  1. #data.py
  2. import os
  3. import sys
  4. print('***获取当前目录***')
  5. print(os.getcwd())
  6. print(os.path.abspath(os.path.dirname(__file__)))
  7. print('***获取上级目录***')
  8. print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
  9. print(os.path.abspath(os.path.dirname(os.getcwd())))
  10. print(os.path.abspath(os.path.join(os.getcwd(), "..")))
  11. tmppath = os.path.abspath(os.path.join(os.getcwd(), ".."))
  12. print('***获取库目录***')
  13. tmppath= tmppath+"\\test"
  14. print(tmppath)
  15. print('***获取上上级目录***')
  16. print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
  17. sys.path.insert(0,tmppath)
  18. print(sys.path)
  19. import test
  20. '''
  21. Tab =[]
  22. Tab.append("aaa")
  23. print(Tab.index("aaa"))
  24. Tab.append("aabb)
  25. Tab.append("cc")
  26. print(Tab.index("dd"))
  27. cc = list(enumerate(Tab))
  28. print("Id ","name")
  29. print(cc[0][0],": ",cc[0][1])
  30. print(cc[1][0],": ",cc[1][1])
  31. print(cc[2][0],": ",cc[2][1])
  32. #print()
  33. Tab1 = cc
  34. print(len(cc))
  35. print(len(cc[0]))
  36. print('')
  37. print('')
  38. '''
  39. '''
  40. def cleantxt(inputfile):
  41. with open(inputfile, "w", encoding="utf-8") as f_clean_w :
  42. f_clean_w.write('')
  43. '''
  44. def SaveModTab(inputfile,Tab):
  45. Tab = list(enumerate(Tab))
  46. with open(inputfile, "w", encoding="utf-8") as f_w:
  47. tmp ="zzz:"
  48. f_w.write(tmp+'\n')
  49. print(tmp)
  50. tmp =" zzzId zzz_Name"
  51. f_w.write(tmp+'\n')
  52. print(tmp)
  53. for i in range(0,len(Tab)):
  54. tmp = " "+str(Tab[i][0]) +" "+str(Tab[i][1])
  55. print(tmp)
  56. f_w.write(tmp+'\n')
  57. inputfile = 'Tab.txt'
  58. Tab =[]
  59. Tab.append("aaa")
  60. print(Tab.index("aaa"))
  61. Tab.append("bb")
  62. Tab.append("cc")
  63. Tab.append("dd")
  64. #cleantxt(inputfile)
  65. Tab(inputfile,Tab)
  66. test.primt("22222")

可以以下这种: 都不需要__init__.py 

  1. ''' 方法1
  2. print('***获取库目录***')
  3. tmppath= tmppath+"/aa"
  4. print(tmppath)
  5. print('***获取上上级目录***')
  6. print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
  7. sys.path.insert(0,tmppath)
  8. print(sys.path)
  9. import test
  10. '''
  11. #方法2from 不能使用多级目录bb/cc/aa)
  12. print('***获取库目录***')
  13. #tmppath= tmppath+"/aa"
  14. print(tmppath)
  15. print('***获取上上级目录***')
  16. print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
  17. sys.path.insert(0,tmppath)
  18. print(sys.path)
  19. from aa import test

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/1000950
推荐阅读
相关标签
  

闽ICP备14008679号