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

路径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日