详解python路径拼接os.path.join()函数的用法_python

来源:脚本之家  责任编辑:小易  

概述使用os.path.abspath()函数来获取文件绝对路径解析文件目录结构如下:假设app.py中想读取config.ini文件的内容,首先app.py需要知道config.ini的文件路径,从目录结构上可以看出,config.ini与app.py的父目录同级,也就是获取到app.py父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上config.ini文件名就能获取到config.ini文件:首先,在app.py中测试一下:import osdef load_file():获取当前文件路径current_path=os.path.abspath(_file_)获取当前文件的父目录father_path=os.path.abspath(os.path.dirname(current_path)+os.path.sep+".")config.ini文件路径,获取当前目录的父目录的父目录与congig.ini拼接config_file_path=os.path.join(os.path.abspath(os.path.dirname(current_path)+os.path.sep+"."),'config.ini')print('当前目录:'+current_path)print('当前父目录:'+father_path)print('config.ini路径:'+config_file_path)load_file()out:从结果中可以看到一切都正常,没有什么问题,假如现在需要从main.py中执行app.py的load_file()方法呢?来测试一下:main.py(处于同级目录):from bin.app import load_fileif_name_='_main_':load_file()out:可以看到,获取的路径是完全没有问题的拓展内容python os.path 常用模块介绍os.path.abspath(path)返回path规范化的绝对路径(但这个路径不一定是真实的路径),如果path仅是一个文件名,使用该函数后返回的路径是当前工作目录路径连接改文件名后所组成的新的路径名。import os.pathos.path.abspath("a.py")'C:\\\\Users\\\\Administrator\\\\a.py'os.path.split(path)将path分割成目录和文件名二元组返回os.path.split("C:\\\\Users\\\\Administrator\\\\a.py")('C:\\\\Users\\\\Administrator','a.py')os.path.dirname(path)返回path的目录,其实就是os.path.split(path)的第一个元素os.path.dirname("C:\\\\Users\\\\Administrator\\\\a.py")'C:\\\\Users\\\\Administrator'os.path.basename(path)返回path最后的文件名。如果path以/或\\结尾,就会返回空值。即os.path.split(path)的第二个元素。os.path.basename("C:\\\\Users\\\\Administrator\\\\a.py")'a.py'os.path.commonprefix(list)返回list中所有path共有的最长的路径,从左向右,相同字符。os.path.exists(path)如果path存在,返回True;如果path不存在,返回False。os.path.isabs(path)如果path是绝对路径,返回True。os.path.normpath(path)规范path字符串形式(规范文件路径)os.path.isfile(path)判断路径是否为文件,是返回True,否则返回Falseos.path.isdir(path)如果path是一个存在的目录,返回True,否则返货False。os.path.islink(path)是否是链接;但如果系统不支持链接,则返回Falsewww.zgxue.com防采集请勿采集本网。

os.path.join()函数:连接两个或更多的路径名组件

你好,你可以先将uuid1处理成纯粹的字符,然后在进行拼接。uid=str(uuid.uuid1()) suid=''.join(uid.split('-'))

1.如果各组件名首字母不包含'/',则函数会自动加上

使用os.path.abspath()函数来获取文件绝对路径 文件目录结构如下: 解析 假设app.py中想读取config.ini文件的内容,首先app.py需要知道config.ini的文件路径,从目录python os.path 常用模块介绍

demo1

A文件夹中有A1,A2,A3三个文件夹,每个文件夹中各有一文件,分别是B1.py,B2.py,B3.py,每个文件中的代码分别如下: B1.py中的代码为:D1='2015' B2.py中的代码为: import os C2=os.getcwd()

import osPath1 = 'home'Path2 = 'develop'Path3 = 'code'Path10 = Path1 + Path2 + Path3Path20 = os.path.join(Path1,Path2,Path3)print ('Path10 = ',Path10)print ('Path20 = ',Path20)

函数得到当前工作目录,即当前Python脚本工作的目录路径。3、os.listdir() 返回指定目录下的所有文件和目录名。os.listdir(os.getcwd()) ['Django','DLLs','Doc','include','Lib','libs','LICENSE.txt','

输出:

如果程序需要使用一些配置文件时,一般也是用相对路径的,这样也容易出问题,这时需要在启动程序时切换到程序所在的路径。sys.path[0]是程序所在的目录,在程序开头处加上 os.chdir(sys.path[0])就可以了

Path10 =  homedevelopcode

Path20 =  home\develop\code

2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃

demo2

import os Path1 = '/home'Path2 = 'develop'Path3 = 'code'Path10 = Path1 + Path2 + Path3Path20 = os.path.join(Path1, Path2, Path3)Path30 = os.path.join(Path2, Path1, Path3)print('Path10 = ',Path10)print('Path20 = ',Path20)print('Path30 = ',Path30)

 输出:

Path10 =  /homedevelopcode

Path20 =  /home\develop\code

Path30 =  /home\code

3.如果最后一个组件为空,则生成的路径以一个'/'分隔符结尾

demo3

import osPath1 = 'home'Path2 = 'develop'Path3 = ''Path10 = Path1 + Path2 + Path3Path20 = os.path.join(Path1, Path2, Path3)Path30 = os.path.join(Path2, Path1, Path3)print('Path10 = ',Path10)print('Path20 = ',Path20)

输出:

如果程序需要使用一些配置文件时,一般也是用相对路径的,这样也容易出问题,这时需要在启动程序时切换到程序所在的路径。sys.path[0]是程序所在的目录,在程序开头处加上 os.chdir(sys.path[0])就可以了

Path10 =  homedevelop

Path20 =  home\develop\

总结

以上所述是小编给大家介绍的python路径拼接os.path.join()函数的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对真格学网网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

是在拼接路径的时候用的。举个例子,os.path.join(“home”,"me内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python pandas移动窗口函数rolling的用法
  • python中如何使用insert函数
  • python re 模块findall() 函数返回值展现方式解析
  • 详解python中的index函数用法
  • 举例讲解python中is和id的用法
  • python中的is和id用法分析
  • python读取android permission文件
  • python的in,is和id函数代码实例
  • python定时任务工具之apscheduler使用方式
  • go和python调用其它程序并得到程序输出
  • 详解字符串在python内部是如何省内存的
  • python实现ftp服务器服务的方法
  • 查看python安装路径及pip安装的包列表及路径
  • 使用python在校内发人人网状态(人人网看状态)
  • python3 deque 双向队列创建与使用方法分析
  • 完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctyp
  • python进程间通信用法实例
  • python将dataframe的某一列作为index的方法
  • 如何解决Python中os.path.join的路径拼接问题
  • python文件名获取文件路径
  • python打开文件的路径
  • 请教一个Python中用os.getcwd或取绝对路径的问题
  • python 如何将uuid.uuid1跟路径进行拼接
  • python读取已经打开的3个word和excle文件的路径
  • 请教一个Python中用os.getcwd或取绝对路径的问题
  • 如何学习python的os模块
  • python 运行文件路径问题
  • Python怎样得到资源文件的绝对路径
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页pythonpython pandas移动窗口函数rolling的用法python中如何使用insert函数python re 模块findall() 函数返回值展现方式解析举例讲解python中is和id的用法python中的is和id用法分析python读取android permission文件python的in,is和id函数代码实例python定时任务工具之apscheduler使用方式go和python调用其它程序并得到程序输出详解字符串在python内部是如何省内存的python实现ftp服务器服务的方法查看python安装路径及pip安装的包列表及路径使用python在校内发人人网状态(人人网看状态)python3 deque 双向队列创建与使用方法分析完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctyppython进程间通信用法实例python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python科学计算环境推荐——anacpython逐行读取文件内容的三种方python中使用xlrd、xlwt操作exce从多个tfrecord文件中无限读取文件的例子python使用paramiko模块编写脚本进行远程python之import机制详解对python的unittest架构公共参数token提取python多线程threading join和守护线程se实用自动化运维python脚本分享python数据分析数据标准化及离散化详解使用python脚本将绝对url替换为相对url的pygame实现俄罗斯方块游戏(对战篇1)在python tkinter中canvas实现进度条显示
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved