python中的str.join()、os.path.join()函数

一、join() 函数

1、介绍

join() 方法用于将一个可迭代对象(如列表、元组等)中的元素以指定的分隔符连接成一个字符串。 函数原型:string.join(iterable) ,其中 string 是分隔符,iterable 是可迭代对象。

注:可迭代对象中的元素必须是字符串类型,如果不是,需要先进行类型转换

list1 = ["apple", "banana", "cherry"]
separator = ", "
result = separator.join(list1)
print(result)  # 输出: "apple, banana, cherry"

二、os.path.join() 函数

1、介绍

os.path.join() 函数用于以与操作系统无关的方式将多个路径组件连接成一个路径字符串。 函数原型:os.path.join(path1, path2,...)

注:它会根据当前操作系统自动处理路径分隔符,在 Windows 上是 \ ,在 Unix/Linux 上是 / ; 传入的路径组件不需要添加分隔符,函数会自动处理

2、例子

  • 第一个以”/”开头的参数开始拼接,之前的参数全部丢弃;
  • 以上一种情况为先。在上一种情况确保下,若出现”./”开头的参数,会从”./”开头参数的 上一个参数开始拼接
import os
print("1:",os.path.join('aaaa','/bbbb','ccccc.txt'))
#以字符串中含有 / 的第一个开始拼接
1: /bbbb/ccccc.txt

print("2:",os.path.join('/aaaa','/bbbb','/ccccc.txt')) 
2: /ccccc.txt

print("3:",os.path.join('aaaa','./bbb','ccccc.txt'))   
3: aaaa/bbb/ccccc.txt

print("22:",os.path.join('/aaaa/','bbbb/','ccccc.txt')) 
22: aaaa/bbb/ccccc.txt

三、os模块介绍

os 模块是 Python 标准库中的一个重要模块,提供了与操作系统进行交互的功能。 它包含了大量用于处理文件和目录、进程管理、环境变量、文件系统权限等各种与操作系统相关的操作的函数和方法。

#获取当前路径
import os
current_directory = os.getcwd()
print(f"当前工作目录: {current_directory}")

#修改路径
new_directory = r"C:\Users\MYPC17\Desktop"
os.chdir(new_directory)
print(f"已更改工作目录: {os.getcwd()}")

#查看当前目录
import os
directory = "."
contents = os.listdir(directory)
print(f"{directory}目录内容:")
for item in contents:
    print(item)

python路径拼接os.path.join()函数_imread(os.path.join-CSDN博客

### 使用 `os.path.join` 正确拼接文件路径 在 Python 中,为了确保跨平台兼容性和路径字符串的正确处理,推荐使用 `os.path.join()` 来构建文件路径。此方法能够自动识别操作系统并采用合适的路径分隔符。 #### 基本语法 该函数接受多个参数作为输入,每个参数代表路径的一部分。无论提供多少个部分,都会被适当地组合成一个完整的路径[^1]。 ```python import os path_part_one = "folder" path_part_two = "subfolder" file_name = "example.txt" full_path = os.path.join(path_part_one, path_part_two, file_name) print(full_path) # 输出: folder/subfolder/example.txt 或者 folder\subfolder\example.txt (Windows) ``` 当最后一个组件为空时,生成的路径将以斜杠 `/` 结束[^4]。 #### 处理绝对与相对路径 可以利用 `os.path.abspath()` 获取给定路径的绝对形式;而通过 `os.path.dirname()` 和 `os.path.basename()` 可分别提取目录名和基础文件名。 ```python relative_path = "./images/photo.jpg" absolute_path = os.path.abspath(relative_path) directory = os.path.dirname(absolute_path) base_file = os.path.basename(absolute_path) print(f"Absolute Path: {absolute_path}") print(f"Directory Name: {directory}") print(f"Base File Name: {base_file}") ``` #### 动态时间戳的应用实例 有时需要创建带有唯一标识的时间戳子目录来存储数据集或其他资源,在这种情况下可结合 `time` 库实现动态命名: ```python import os import time data_directory = 'data' timestamp_str = str(int(time.time())) output_directory = os.path.join('.', data_directory + '_save', timestamp_str) if not os.path.exists(output_directory): os.makedirs(output_directory) print(f"Output Directory Created At: {output_directory}") # .\data_save\1634191203 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值