nodejs中文件路径相关API:path

AI 大模型在电商精准营销中的应用 例如,对于用户 A 和用户 B,通过比较他们对共同评价过的商品的评分差异来确定相似度。其中,(Gain(D,a))表示特征(a)对数据集(D)的信息增益,(Ent(D))表示数据集(D)的信息熵,(V)表示特征(a)的取值个数,(D^{v})表示特征(a)取值为(v)的样本子集。其中,(sim(A,B))表示用户 A 和用户 B 的相似度,(I)表示用户 A 和用户 B 共同评价过的商品集合,(R_{A,i})和(R_{B,i})分别表示用户 A 和用户 B 对商品(i)的评分。(三)营销活动效果预测。 阅读详情

path 相关的一些api, 我们首先创建一段公共的代码块 :

  "use strict";
  const path = require('path');
  let _path = path.join(__dirname,'test.txt'); 
  // 假设上面是我们的文件路径 ,具体为:/foo/bar/test.txt 这是*nix上的示例路径
  • path.basename (文件名)

    console.log(path.basename(_path)); // test.txt  此处包含后缀
    console.log(path.basename(_path,'.txt')); // test 此处不包含后缀
    
  • path.delimiter (分隔符)

    在*nix系统上的环境变量为:, 如下举例子:

    console.log(process.env.PATH) // '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin'
    process.env.PATH.split(path.delimiter) // returns ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
    

    在window上的环境变量是 ; 举例如下:

    console.log(process.env.PATH) 
    // 'C:\Windows\system32;C:\Windows;C:\Program Files\node\'
    
    process.env.PATH.split(path.delimiter)
    // returns ['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\node\\']
    
  • path.dirname (输出文件所在文件夹路径)

    console.log(path.dirname(_path)); // /foo/bar
  • path.extname (输出文件后缀)

    console.log(path.extname); // .txt
    // 还有几个特殊的举例:
    path.extname('index.') // 输出 '.'
    path.extname('index') // 输出 ''
    path.extname('.index') // 输出 ''  此处需要警惕不是 '.index'
    
  • path.format 路径格式化

    // 此处只针对*nix文件系统路径
    var json = {
      root : "/",
      dir : "/home/user/dir",
      base : "file.txt",
      ext : ".txt",
      name : "file"
    };
    let res = path.format(json);
    console.log(res); // /home/user/dir/file.txt
    
  • path.isAbsolute (是否是绝对路径)

    path.isAbsolute(_path); // true
    
    // *nix 下
    path.isAbsolute('/foo/bar') // true
    path.isAbsolute('/baz/..')  // true
    path.isAbsolute('qux/')     // false
    path.isAbsolute('.')        // false
    
    // windows 下
    path.isAbsolute('//server')  // true
    path.isAbsolute('C:/foo/..') // true
    path.isAbsolute('bar\\baz')  // false
    path.isAbsolute('.')         // false 
    
  • path.join (只能是字符串拼成的路径)

    path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')
    // returns '/foo/bar/baz/asdf'
    path.join('/foo', 'bar', 'baz/asdf', 'hello','t.txt'); 
    // returns '/foo/bar/baz/asdf/hello/t.txt'
    
  • path.normalize (使路径正常化,处理..和. 以及多余的 /)

    path.normalize('/foo/bar//baz/asdf/quux/..')
    // returns '/foo/bar/baz/asdf'
    
  • path.parse (解析字符串路径成对象)

    // *nix 下
    path.parse('/home/user/dir/file.txt')
    /*
    // returns
    {
        root : "/",
        dir : "/home/user/dir",
        base : "file.txt",
        ext : ".txt",
        name : "file"
    }
    */
    
    // windows 下
    path.parse('C:\\path\\dir\\index.html')
    /*
    // returns
    {
        root : "C:\\",
        dir : "C:\\path\\dir",
        base : "index.html",
        ext : ".html",
        name : "index"
    }
    */
    
  • path.posix

    Provide access to aforementioned path methods but always interact in a posix compatible way.

    官方文档上说了: 提供接入path的方法,但总能够以可移植的适配方式来交互。
    具体用法可在repl环境中输出这个path.posix对象来尝试。

  • path.relative (获取一个路径对于另一个的相对路径)

    // windows 下
    path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb')
    // returns  '..\\..\\impl\\bbb'
    
    // *nix 下
    path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
    // returns '../../impl/bbb'
    
  • path.resolve(通过一些路径参数,最终获得一个绝对路径,通过下面例子来说明)

    path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')
    //  returns  /tmp/subfile
    

    上面获得的结果相当于下面的shell命令获得的路径 , 最终都是 /temp/subfile

    cd foo/bar
    cd /tmp/file/
    cd ..
    cd a/../subfile
    pwd

    和 shell 命令的不同之处是 resolve 可以是不存在的,也可以是文件,如下:

    path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
    // if currently in /home/myself/node, it returns
    // '/home/myself/node/wwwroot/static_files/gif/image.gif'
  • path.sep (获取相应操作系统上的文件分隔符)

      // on *nix:
      'foo/bar/baz'.split(path.sep)
      // returns  ['foo', 'bar', 'baz']
    
     // on Windows:
     'foo\\bar\\baz'.split(path.sep)
     // returns  ['foo', 'bar', 'baz']
    
  • path.win32 (此API不常用)

    Provide access to aforementioned path methods but always interact in a win32 compatible way.

    提供接入上述path方法,但总在win32系统上以适配的方式交互。(存在局限性,不常用)

大数据领域存算分离:教育行业的数据应用探索 在当今数字化时代,教育行业积累了海量的数据,如学生的学习记录、考试成绩、在线学习行为等。如何高效地存储、管理和分析这些数据,以挖掘其潜在价值,为教育决策、教学改进和学生个性化发展提供支持,成为教育行业面临的重要挑战。大数据领域的存算分离技术为解决这一问题提供了新的思路和方法。本文旨在探索存算分离技术在教育行业的数据应用,分析其原理、优势和实际应用场景,为教育行业的数据管理和分析提供参考。本文共分为十个部分。第一部分介绍背景,包括目的和范围、预期读者、文档结构概述和术语表; 阅读详情

相关推荐

基于STM32F103C8T6的红外循迹避障小车

编程思路:控制核心板IO口的电平(即电机驱动模块的AIN1,AIN2,BIN1,BIN2)从而控制AO1、AO2、BO1、BO2的电平高低,进而控制电机使其正转、反转、不转。由于单纯地拉高拉低电平只能让电机在转与不转的状态切换,故决定利用TIM4的两个通道分别产生两路PWM信号来控制电机速度,四个电机两个一组,同一侧的两个连接在同一个PWM上。(#include "dianji.h"文件中同时写了对循迹模块引脚的初始化)

weixin_48743503的博客 1万+

Node.js中路径模块的join方法以及__dirname和./的区别

Node.js中路径模块的join方法以及__dirname和./的区别一、join方法二、__dirname 和 ./ 的区别三、综合应用 一、join方法 path.join() 方法使用特定于平台的分隔符作为定界符将所有给定的 path 片段连接在一起,然后规范化生成的路径。 零长度的 path 片段被忽略。 如果连接的路径字符串是零长度字符串,则将返回 ‘.’,表示当前工作目录 path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'); //

丑小鸭变黑天鹅的博客 3819

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp 文章目录[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp分析log文件格式分析协议组成UDS网络传输层UDS统一诊断服务协议分析文件提取文件逆向flag计算参考链接: teslaaaaa这道题是青龙组被做出来的题目中做出来人数最少的,直到比赛快结束才有第一个人做出来,怎么说,难并不是因为脑洞大,讲道理这道题是一道好题,我当时也是肝了一天没做出来,我倒是把文件提取出来了,奈何比赛时间已经接近尾

Breeze的博客 1万+

【NodeJs篇】关于path 路径模块的学习和使用

【NodeJs篇】关于path 路径模块的学习和使用

薇z的博客 4414

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 749

浮点数精度陷阱全解析:从IEEE 754到深度学习部署选型

在计算机数值计算中,浮点数是表示带小数数字的标准方式,但它的存储规则决定了精度和边界天生存在限制。许多开发者都曾遭遇过0.1+0.2不等于0.3的尴尬,或是模型训练中loss变成NaN的困扰,这些问题的根源往往指向IEEE 754标准中的规格化、非规格化表示及舍入规则。理解浮点数的底层原理,不仅能避开直接的比较判断陷阱,还能指导我们在不同场景下做出合理的技术选型。从C语言的printf到Python的repr,从嵌入式串口打印到深度学习中的FP32、FP16、BF16、TF32格式,浮点数知识贯穿底层开发和

weixin_34314962的博客 464

Nodejs核心模块(一)

fs的copyFile是针对readFile和writeFile进行实现的,他们都是对文件的一次性操作,对大体积文件来说非常不合适,基于文件读写对大体积文件进行拷贝api的实现// 将A文件拷贝到B文件 用read读数据存入buffer 从buffer中取数据写入B文件// 数据完全拷贝const BUFFER_SIZE = buf.length // 每次读取数据的字节数// position指定为null 自动更新读取文件的起始位置if (!console.log('拷贝完成')

weixin_42499553的博客 747

STM32驱动HC-SR04超声波模块

本篇文章将带大家使用HAL库驱动HC-SR04超声波模块。超声波模块作为智能小车必备的模块,要学习智能小车的同学是必须掌握好这个模块的使用的。HC-SR04是一种常用的超声波传感器模块,也被称为超声波测距模块,广泛应用于各种自动化控制和测距系统中。它通常由超声波发射器、接收器、控制电路和外壳组成,可以实现非接触式的距离测量。下面是HC-SR04超声波模块的一些特性和技术参数:距离测量范围:2cm ~ 400cm(可调)。测量精度:0.3cm。工作电压:DC 5V。工作电流:15mA。

m0_49476241的博客 7689

错误:uni-app:@dcloudio\uni-cli-shared\lib\util.js:7

23:35:16.555 F:\collegeProject\college-project\node_modules\@dcloudio\uni-cli-shared\lib\util.js:7 23:35:16.556 const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) 23:35:16.565 ^ 23:35:16.5...

qq_41570335的博客 8872

EPLAN 电气制图(六):电机正反转副勾主电路绘制

【插入】→【设备】→选择 “SIE.3RV2011-1AA15”(Q1)和 “SIE.1TL0001-1DB3”(M1),放置于图纸左侧。生成端子排 X3:【端子排导航器】→新建编号 “1-20”,部件 “PXC.3211814”,放置于电机上方,功能文本标注 “电机端子”。属性设置:双击结构盒,在 “显示设备标识符” 中输入位置代号(如 “+ 柜外”),并在 “格式” 选项卡中调整线型与颜色。实用技巧:勾选【选项】→【设置】→【图形的编辑】中的 “绘制带有空白区域的结构盒”,可使元件布局更清晰。

电工 2034

【数据集】CMIP6气候模式数据下载

简介CMIP6及其气候模式数据下载

WW、forever的博客 9360

nodejs学习-path模块

path模块是nodejs官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。 例如: path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串 path.basename()方法,用来从路径字符串中,将文件名解析出来 如果要在JavaScript代码中使用path模块来操作文件,则需要使用如下的方式先导入它: const path=require('path') path.join()的语法格式 path.join([...paths]

GJM_Memory的博客 2578

【大模型】DeepSeek + Coze 打造个人专属AI智能体使用详解

DeepSeek + Coze 打造个人专属AI智能体使用详解

congge 1万+

nodejs中路径相关api

作为程序员,持续学习和充电非常重要,作为开发者,我们需要保持好奇心和学习热情,不断探索新的技术,只有这样,我们才能在这个快速发展的时代中立于不败之地。)6个数据库,支持私有化部署,前后端封装了上千个常用类,方便扩展,框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用。// 打包用,因为打包后的相对路径已经发生变化,已经不是以开发根目录为基准,这时用nodejs的可执行文件为基准是很可靠的。也是一个值得我们深入探索的领域,让我们拭目以待,它将给前端世界带来怎样的变革,推荐一个低代码工具。

pantouyuchiyu的博客 1258

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

nodejs 获取文件路径_nodejs中的读取文件fs与文件路径path

什么是nodejs?Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,nodejs允许javascript代码运行在服务端1. nodejs不是一门新的编程语言,nodejs是在服务端运行javascript的运行环境2. 运行环境:写得程序想要运行必须要有对应的运行环境php代码必须要有apache服务器在web端,浏览器就是javascript的运行环境在...

weixin_39846553的博客 885

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

nodejs中的读取文件fs与文件路径path

什么是nodejs? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,nodejs允许javascript代码运行在服务端 1. nodejs不是一门新的编程语言,nodejs是在服务端运行javascript的运行环境 2. 运行环境:写得程序想要运行必须要有对应的运行环境 php代码必须要有apache服务器 在web端,浏览器就是...

liuyuhua666的博客 6957

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NodeJS3-1基础API----Path(路径)

path 和路径有关的操作 Path(路径) path模块提供用于处理文件路径和目录路径的实用工具。 它可以使用以下方式访问 const path = require('path'); 1.path.normalize(path) [就是把路径改成比较标准的路径格式] // 把路径改成比较标准的路径格式 const {normalize} = requir...

努力学习的肥宅 216

linux如何卸载nodejs_前端学习笔记,NodeJS核心API,上集

NodeJS核心API-Buffer0.准备知识0.1计算机只能识别0和1(因为计算机只认识通电和断电两种状态)0.2所有存储在计算机上的数据都是0和1组成的(数据越大0和1就越多)0.3计算机中的度量单位1 B(Byte字节) = 8 bit(位)// 00000000 就是一个字节// 111111111 也是一个字节// 10101010 也是一个字节// 任意8个 0或1的组合都是一个字节...

weixin_34898320的博客 213

nodejs学习计划--(二)fs文件系统和path模块

fs模块 fs 全称为 file system ,称之为 文件系统 ,是 Node.js 中的 内置模块 ,可以对计算机中的磁盘进行操 作。 1. 文件写入 文件写入就是将 数据 保存到 文件 中,我们可以使用如下几个方法来实现该效果

把代码调成柠檬味 2997

NodeJS笔记

一、NodeJS概述 1、介绍 相关网址: https://nodejs.org/zh-cn/ http://nodejs.cn/ Node.js 是一个开源与跨平台的JavaScript运行时环境。它是在浏览器外运行,它是一个事件驱动异步I/O单进程的服务端JS环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 注意: 浏览器是JS的前端运行环境。 Node.js是JS的后端运行环境,在后端中运行无法调用 DOM 和 BOM 等浏览器内置 AP

qq_42693392的博客 887

NodeJS 知识总结

NodeJs 是什么? Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 NodeJs 特点 在 node 中采用EcmaScript进行编码,没有 DOM 和 BOM 在 node 中没有 window node 中的模块化 在node中,模块有三种 具名的核心模块 例如:fs、http、os 用户自己编写的

weixin_43916694的博客 594

node.js path相关方法

在搭建ES6环境需要自己写gulpfile.js配置时,发现里面用到了node.js中的一部分内容——path。 配置中有这样一行代码: const from = path.join(_dirname, ‘./appes6/js’); //d:/Users/xxchi/Desktop/ES6/appes6/js 这是什么意思呢? 1、const ES6语法声明一个不可以改变的只读常量from。...

R1342476713的博客 348

NodeJS API简介

简单介绍下NodeJS现有API。 Assert(断言):该模块用于编写程序的单元测试用例。 Buffer(缓冲块) :处理二进制数据。 C/C++ Addons(拓展):Addons插件就是动态连接库。 Child Processes(子进程):提供了类似 popen(3) 的处理三向数据流(stdin/stdout/stderr)的功能。 Cluster(集群):用于nodejs...

weixin_33969116的博客 215

NodeJS Express Sequelize

nodejs. express. Sequelize 简介以及api和用法

qq_58151324的博客 559

车规级传感器实战手册:从失效现象到系统级鲁棒性设计

车规级传感器并非通用传感器的简单移植,而是面向真实车载环境的高鲁棒性感知单元。其核心原理在于理解温度循环、机械振动、电磁干扰、化学腐蚀等多应力耦合下的物理退化机制,技术价值体现在将标称参数转化为可验证的系统级约束,如25g随机振动下剩磁衰减率、-40℃冷启动瞬态抖动、盐雾老化后接触电阻劣化等。典型应用场景覆盖ADAS融合调试、诊断策略开发、产线装配防错及执行器自诊断设计。本文聚焦《Automotive Sensors and Actuators》所揭示的‘现象→机制→验证→防护’闭环方法论,深度融合车规级鲁

weixin_34152820的博客 547

nodejs之路探寻

在webpack配置中经常会发现 const path = require('path') 这是加载nodejs路径处理API,这个API主要包含下面三个方法  path.dirname(filepath) // 获取文件路径 path.basename(filename) // 获取文件名 path.extname(filepath) // 获取扩展名path.rela...

weixin_30455661的博客 81
上一篇: nodejs中常用文件操作API及相关API
下一篇: webpack 简介和初步配置
Wang's Blog
博客等级 码龄12年 7438粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值