xiaobaiputhon 2022-11-06 08:58 采纳率: 75%
浏览 88
已结题

路径os和sys里面的正斜杠和反斜杠的区别

import os
import sys

SYS_PATH = sys.argv[0]
print(SYS_PATH)

D:/pycharm文件/打包/test.py
OS_PATH = os.path.abspath(file)
print(OS_PATH)

D:\pycharm文件\打包\test.py
他俩有什么区别 ? 也可以回答 os与sys有什么区别 一个是正一个是反
os与sys 什么样的场景 需要区分他俩
本人使用win 和 python pycharm

  • 写回答

6条回答 默认 最新

  • 游一游走一走 2022-11-06 11:55
    关注

    题主稍微搞混了

    1. sys.argv[0] 是从命令行取第一个参数,和路径没关系,只不过你因为你输入的是
      python D:/pycharm文件/打包/test.py
      
      所以输出是“D:/pycharm文件/打包/test.py”
    2. os.path.abspath(file)获取的是文件绝对路径,在windows下就是
      D:\pycharm文件\打包\test.py
      
    3. 由于python能跨平台,linux的分隔符是“/”,windows的分隔符是“\“,所以在window下python也智能的帮你把不符合windown的路径”/“装换为了”\“
    4. ”\“在python里面是转义字符,所以你直接定义USER_PATH='D:\pycharm文件\打包\test.py'会报错,你需要定义为
      USER_PATH='D:\\pycharm文件\\打包\\test.py'
      USER_PATH=r'D:\pycharm文件\打包\test.py' # 推荐使用这种写法,传参的时候也是用windows的路径格式,保持一致
      USER_PATH='D:/pycharm文件/打包/test.py'
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 修改了问题 11月6日
  • 创建了问题 11月6日

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏