vscode和pycharm在当前工作目录的不同|python获取当前文件目录和当前工作目录

问题背景

相信大家都遇到过一个问题:一个项目在vscode(或pycharm)明明可以正常运行,但当在pycharm(或vscode)中时,却经常会出现路径错误。起初,对于这个问题,我也是一知半解,因为项目都比较小且跑在本地,故而一气之下全部使用了绝对路径。

但踏破铁鞋无觅处,得来全不费工夫,后来在csdn偶然看到了一篇讲vscode和pycharm工作路径的文章,后经个人理解整理如下。

原因

在vscode中运行项目时,当前工作路径是项目根目录;而在pycharm中,当前工作目录则是当前运行脚本的直接父目录。以下是在vscode和pycharm获取同一文件的目录和工作目录的演示

vscode:

pycharm:

我们可以清楚的看到在执行 `os.getcwd()`获取当前工作目录时,vscode给出的结果是D:\Dfile\project\differential_attention;而pycharm中给出的路径是D:\Dfile\project\differential_attention\data_generate;

总结

通过以上演示,我们可以很直观的知道:在vscode中运行项目时,当前工作路径是项目根目录;而在pycharm中,当前工作目录则是当前运行脚本的直接父目录。所以,当大家因为某些不可抗力的原因,要在不同平台运行自己项目的代码时,请小心路径问题!

如果这篇文章对您有所帮助的话,请点赞&收藏!!感谢!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RN如何实现页面渐变背景

在React Native(RN)中,实现页面渐变背景通常需要使用LinearGradient组件。LinearGradient是React Native的一个第三方库,它允许你创建线性渐变效果。以下是一个简单的步骤指南,教你如何在React Native中实现页面渐变背…

基于Java的电商书城系统源码带本地搭建教程

技术框架:jQuery MySQL5.7 mybatis jsp shiro 运行环境:jdk8 IntelliJ IDEA maven3 宝塔面板 系统功能介绍 该系统分为前台展示和后台管理两大模块,前台主要是为消费者服务。该子系统实现了注册,登录, 以及…

闯关leetcode——232. Implement Queue using Stacks

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/implement-queue-using-stacks/description/ 内容 Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal …

自动化测试覆盖率提升的关键步骤

自动化测试覆盖不足的问题可以通过增加测试用例的数量和质量、引入代码覆盖率分析工具、加强团队的测试意识和技能、优化测试框架和工具、自动化测试与手动测试相结合等方式来解决。其中,引入代码覆盖率分析工具是关键,它可以帮助我们精准地识别未被测试…

手机柔性屏全贴合视觉应用

在高科技日新月异的今天,手机柔性显示屏作为智能手机市场的新宠,以其独特的可弯曲、轻薄及高耐用性特性引领着行业潮流。然而,在利用贴合机加工这些先进显示屏的过程中,仍面临着诸多技术挑战。其中,高精度对位、应力控…

大数据新视界 -- 大数据大厂之大数据重塑影视娱乐产业的未来(4 - 4)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

JS补原型链

在JavaScript中,补足一个对象的原型链通常是指确保一个对象继承自另一个对象。这涉及到原型和构造函数。 对于构造函数(通常首字母大写,如 Animal),它们有一个 prototype 属性,这个属性是一个对象&#xf…

fastjson/jackson对getter,setter和constructor的区分

在复现完fastjson1.2.24-1.2.80和jackson的所有相关漏洞后,总结的一些规则 以下均指对json的反序列化过程 setter fastjson调用setter:遍历所有方法,找出所有满足setter要求的方法,再根据传入的json去反射调用 jackson调用set…

STM32外设应用

STM32是基于ARM Cortex-M系列内核的微控制器,具有高性能、低功耗和丰富的外设资源。其广泛应用于物联网、工业控制、智能家居和嵌入式系统等领域。本文将简要介绍STM32常用外设的功能及应用实例,帮助大家更好地理解和使用STM32外设。 1. GPIO&#xff0…

近端串扰和远端串扰

近端串扰和远端串扰 近端串扰噪声持续时间长,远端串扰噪声峰值大 远端串扰噪声随耦合长度增加而增大 近端串扰:耦合长度小时,噪声随耦合长度增加而增大 远端串扰具有如下4个特性: 表层走线有远端串扰,内层走线之间可近似认为不存在远端串扰…

opencv学习笔记(5): 图像预处理(图像格式和通道、点运算)

1. 图像格式和通道 1.1 图像格式 图像格式是指计算机存储图像的格式。OpenCV目前支持的图像格式包括Windows位图文件BMP、DIB,JPEG文件JPEG、JPG、JPE,便携式网络图形文件PNG等。 ①. BMP BMP(全称Bitmap,位图)是Win…

VMware workstation的3种网络类型

虚拟机想要和主机进行通信必须借助网桥或者交换机,VMware workstation提供了3种网络交换机:仅主机类型交换机、NAT类型交换机、桥接类型交换机。 介绍下这三种类型的交换机 仅主机类型 通过VMware workstation添加一个仅主机类型的虚拟交换机后&#…

Kubernetes固定Pod IP和Mac地址

方案1: 在 Calico GitHub Issues#5196 问题的 commits#6249 提交中,引入新的 Pod 注释cni.projectcalico.org/hwAddr,用于将指定的 MAC 地址分配给容器端 Veth 接口。 将Calico升级至v3.24.1或以上版本,使用如下注解轻松设置Pod…

【Java数据结构】树】

【Java数据结构】树 一、树型结构1.1 概念1.2 特点1.3 树的类型1.4 树的遍历方式1.5 树的表示形式1.5.1 双亲表示法1.5.2 孩子表示法1.5.3 孩子双亲表示法1.5.4 孩子兄弟表示法 二、树型概念(重点) 此篇博客希望对你有所帮助(帮助你了解树&am…

随记:MybatisPuls中的抽象类Model和BaseMapper、自定义MetaObjectHandler实现类

有关Model: 基础概念 在 MyBatis - Plus 中,Model是一个很重要的抽象类。当实体类继承Model类后,它会获得一系列方便操作数据库的功能。这些功能主要是基于 MyBatis - Plus 提供的强大的 CRUD(增删改查)操作增强。主要…

Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认

文章目录 Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认小结 Qt编程技巧小知识点(6)根据 *IDN? 对程控仪器连接状态进行确认 确定仪器连接问题,常用的是监测仪器的连接状态,如下代码所示&…

Java Lock ConditionObject 总结

前言 相关系列 《Java & Lock & 目录》(持续更新)《Java & Lock & ConditionObject & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Java & Lock & ConditionObject & 总结》(学习…

SLAM|1. 相机投影及相机畸变

一个能思考的人,才真是一个力量无边的人。——巴尔扎克 本章主要内容: 1.针孔相机模型 2.相机成像的几个坐标系图像 3.畸变及相机标定 本节主要介绍在照相机拍摄过程中,现实物体如何跟照片上的像素关联起来,具体涉及相机成像的物…

服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例

服务器数据恢复环境: 某品牌服务器同品牌存储,Linux centos7EXT4文件系统。 服务器故障: 意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区&#xff…

[含文档+PPT+源码等]精品基于PHP实现的培训机构信息管理系统的设计与实现

基于PHP实现的培训机构信息管理系统的设计与实现背景,可以从以下几个方面进行阐述: 一、社会发展与教育需求 随着经济的不断发展和人口数量的增加,教育培训行业迎来了前所未有的发展机遇。家长对子女教育的重视程度日益提高,课外…