我正在尝试运行为某些绘图制作的代码,并且可以在终端和spyder上完全运行它(我想从spyder切换为完整的VS代码以进行数据分析),但是我一直收到错误消息,说我的CSV找不到文件,但是如果我直接在终端或spyder上运行此文件,则不会收到此类错误
因此,如果我尝试使用VS Code中的运行单元来运行代码,则会收到此错误:
import pandas as pd...
import pandas as pd...
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
in
4
5
----> 6 LNA_w2Path_PAC_AND_PSP = pd.read_csv('../../Results/CSV/LNA_w2Path_PAC_AND_PSP.csv')
7 LNA_w2Path_PAC_AND_PSP.columns = LNA_w2Path_PAC_AND_PSP.columns.str.strip().str.lower().str.replace(' ', '_').str.replace('(', '').str.replace(')', '').str.replace('/', '').str.replace('=','_').str.replace(';','')
8 plt.figure()
~/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
700 skip_blank_lines=skip_blank_lines)
701
--> 702 return _read(filepath_or_buffer, kwds)
很抱歉,这里没有包装的代码,显然markdown不支持此功能。 我尝试运行的代码是:
#%% #for jupyter notebook
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
LNA_w2Path_PAC_AND_PSP = pd.read_csv('../../Results/CSV/LNA_w2Path_PAC_AND_PSP.csv')
LNA_w2Path_PAC_AND_PSP.columns = LNA_w2Path_PAC_AND_PSP.columns.str.strip().str.lower().str.replace(' ', '_').str.replace('(', '').str.replace(')', '').str.replace('/', '').str.replace('=','_').str.replace(';','')
plt.figure()
plt.plot(LNA_w2Path_PAC_AND_PSP.net18net049_h_0__pac_db20vv_harmonic_0_x/1E9, LNA_w2Path_PAC_AND_PSP.net18net049_h_0__pac_db20vv_harmonic_0_y, linewidth=2.0)
plt.ylabel("$\mathrm{Harmonic \ response \ (dB)}$")
plt.xlabel("$\mathrm{Frequency \ (GHz)}$")
plt.title("Harmonic response of LNA+2-Path Filter")
plt.grid(True, which="both")
plt.show()
如果我只运行python3 myfile.py
,就可以正常工作。
编辑
我的.json
文件如下:
{
"git.autofetch": true,
"python.pythonPath": "/home/theis/anaconda3",
"window.zoomLevel": 2,
"editor.find.addExtraSpaceOnTop": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"python.jediEnabled": false,
"workbench.colorTheme": "Dracula Soft",
"python.linting.pylintEnabled": false,
"python.linting.enabled": false,
"languageTool.language": "en-US",
"julia.enableTelemetry": true,
"python.terminal.executeInFileDir": true
}
EDIT2 :
因此,我在"cwd": "${fileDirname}"
中添加了launch.json
,并尝试在调试器和jupyter笔记本扩展程序中运行以下代码:
#%%
import os
print("Hello World!")
print(os.getcwd())
调试器返回:
Hello World!
/home/theis/code/N_path_intership/PlottingCode/python
并且jupyter笔记本扩展名返回:
Hello World!
/home/theis/code/N_path_intership/PlottingCode
答案 0 :(得分:0)
也许这个答案可以帮助您: https://stackoverflow.com/a/49275867/9628974
这是关于更改VSCode设置以在文件的目录中执行python。
答案 1 :(得分:0)
在调试菜单中,单击小设置图标以打开launch.json
。您的文件应如下所示:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
},
//... other settings, but I modified the "Current File" setting above ...
}
您可以添加一个cwd
键(表示当前工作目录)并将其设置为所需的内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}/<WhateverYouWant>"
},
//... other settings, but I modified the "Current File" setting above ...
}
它应该用正确的路径解决您的问题。