maotai = pd.read_csv('./SH600519.csv') # 读取股票文件
maotai = pd.read_csv('SH600519.csv') # 读取股票文件
添加或者不添加"./"在读取csv文件时,主要有以下区别:
- 不添加"./":
此时pd.read_csv会从当前脚本的运行路径查找文件,如果文件就在当前运行路径下,则能正确读取文件。
- 添加"./":
"./"表示从当前脚本所在的目录开始查找文件。
所以:
-
如果脚本和csv文件在同一个目录下,添加与不添加"./"效果是一样的,都可以正确读取文件。
-
如果csv文件不在脚本同目录,而是在脚本上一级目录或其他目录,则必须添加"./"指定路径,否则pd.read_csv无法找到文件而报错。
-
"./":更明确指定是从脚本目录开始查找,不需要考虑脚本运行时的当前工作目录是否和脚本同目录。
-
不添加,依赖于脚本运行时当前工作目录,如果工作目录变了,可能导致无法找到文件。
所以总体来说,添加"./"更稳妥,因为明确指定从脚本目录开始查找文件,不依赖于脚本运行时的其他环境变量。但如果文件确实在脚本同目录,则两者效果一致。
../和./在表示文件路径时的主要区别是:
-
./表示当前目录。如当前文件所在目录就是./
-
../表示上一级目录。如当前文件目录是/user/project/data,那么../就是指向/user/project目录。
例如:
-
./file.txt 表示当前目录下的file.txt文件
-
../file.txt 表示上一级目录下的file.txt文件
更具体点:
-
./相对于当前脚本或程序执行位置。它指向脚本文件所在的文件夹。
-
../相对于当前脚本位置向上一级。每加一个".."就向上移动一级目录。
那么具体区别就是:
- ./指的是在当前目录下
- ../指的是在上一级目录下
使用../可以方便地引用不同目录下的文件,不依赖于执行脚本的绝对位置。特别是在需要将代码移植到其他环境时,../ reference可以使文件路径设置的目录结构更加灵活。
所以简单来说,./表示当前目录,../表示上一级目录,二者用来指定相对文件路径位置的含义不同。