VSCode 程序启动时的默认位置-python

问题:

以下问题时我在引用本地文件时,系统总是显示找不到相关文件:

有时候程序能够运行,但是调试缺显示找不到文件,有时候反过来。后来反应过来,是程序启动时,默认位置不一样。

Traceback (most recent call last):
  File "d:\Xu\Desktop\Le\Pycharm\NetCode\git-learn\learn-Code\test4\test5\test5.py", line 7, in <module>
    import  test2_t2
ModuleNotFoundError: No module named 'test2_t2'

解决方法:将系统非调试启动和调试启动的默认位置调成一样,并且通过以下代码将所要引用的文件/文件夹的上级目录包含到 sys.path 中:

import sys
sys.path.append('../../learn-code')
import  test2_t2

# ../../learn-code 表示从当前启动程序所在的目录,向上倒退两级文件夹,找到learn-code文件夹,
# 引入该文件下的 est2_t2 文件夹

程序启动时的默认位置修改:

程序启动时的默认位置可以通过以下代码查看:

import os
print(os.getcwd())
1,非调试启动 - Run Python File

        a)系统默认从最上层文件夹开始 - Folder

        b)通过设置 - 扩展 - Python - Execute in File Dir,设置为True,系统启动默认位置会改成从运行时的文件所在位置

2,调试启动 - Python:调试程序 使用launch.json

        a)系统默认从最上层文件夹开始 - Folder

        b)通过在 launch.json 文件中添加 "cwd": "${fileDirname}",系统启动默认位置会改成从运行时的文件所在位置

3,关于 CWD 后面的参数解释:

假设项目地址为:D:\Xu\Desktop\project\

当前文件为:       D:\Xu\Desktop\project\test1\test2\main.py

  1. ${workspaceFolder}      :当前打开文件夹所在项目的文件路径-                                                D:\Xu\Desktop\project 
  2. ${workspaceFolderBasename}  :当前打开项目文件夹名字-                                                project
  3. ${fileBasename}             :当前打开的文件的文件名+后缀名-                                                main.py
  4. ${fileDirname}               :当前打开的文件所在文件夹的绝对路径-                                                D:\Xu\Desktop\project\test1\test2
  5. ${relativeFileDirname}    :当前打开的文件所在文件夹的相对路径-                                                相对于${workspaceFolder} 文件-test1\test2
  6. ${fileExtname}                :当前打开的文件的扩展名-                                                                                                              .py
  7. ${fileWorkspaceFolderBasename}    :当前打开的文件工作区文件夹名称-                                                project
  8. ${file}                              :当前打开的文件的绝对路径+文件名+后缀名-                                                D:\Xu\Desktop\project\test1\test2\main.py
  9. ${relativeFile}                 :当前打开的文件所在文件夹相对 ${workspaceFolder}                                                 文件的相对路径+文件名+扩展-test1\test2\main.py

文件运行时,系统默认的启动位置不同,会导致无法引用一些自己写的库函数,一般会选择 ${fileDirname} 当前目录,或者 ${workspaceFolder} 项目目录作为启动位置。

参考    


VS code 中的各种变量 ${file},${fileBasename}:https://blog.csdn.net/bailsong/article/details/77527773

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值