python文件路径问题怎么在linux与windows中使用

本文详细介绍了在Python中处理Windows和Linux文件路径的方法,包括使用replace方法转换路径分隔符、利用os.path模块进行路径组合,以及pathlib库的现代路径处理方式。

笨方法一:

windows文件的路径是按反斜杠’'分开的
例如:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Xmanager 5
linux总文件路径是使用”/’分开。
例如:/home/username/anaconda3/envs/tensorflow/lib/python3.6/
反斜杠’\‘的路径,linux中无法识别
需要把反斜杠"",转为正斜杠“/”
python 中 字符串的replace方法进行替换
 

windows_path='C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Xmanager 5'
linux_path=windows_path.replace('\\','/')
#'C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Xmanager 5'

传统解决方法二:

data_folder = "source_data\\text_files\\"
 
file_to_open = data_folder + "raw_data.txt"
 
f = open(file_to_open)
 
print(f.read())
 

转换:

import os.path
 
data_folder = os.path.join("source_data", "text_files")
 
file_to_open = os.path.join(data_folder, "raw_data.txt")
 
f = open(file_to_open)
 
print(f.read())

这个是我实际的例子:

# 之前的只能在windows使用
# file_path = os.path.abspath('.') + '\\report\\' + rq + '-result.html'


# 转换之后
import os
file_path = os.path.join(os.path.abspath('.'), 'report', rq + '-result.html')

方法三最佳:我没有使用

Python 3.4介绍了一种全新的标准库pathlib,用于处理文件和路径问题,而且效果很棒!

使用pathlib时,你只需用斜杠符将路径或文件名传入一个新的Path()对象,剩下的交给它就可以了:

from pathlib import Path
 
data_folder = Path("source_data/text_files/")
 
file_to_open = data_folder / "raw_data.txt"
 
f = open(file_to_open)
 
print(f.read())

需要学习看此大神

https://blog.csdn.net/miantian180/article/details/81263443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值