获取当前绝对工作目录与被执行文件的绝对目录

有os.getcwd()、sys.argv[0]、sys.path[0]三种,有什么不同呢?

当前工作目录 为d:\>

执行程序 python程序如图所示:

d:\>python d:/project/test/test.py

test.py的源码如下:

print(sys.path[0])
print(os.getcwd())
print(sys.argv[0])

其结果:

d:\project\test
d:\

d:/project/test/test.py

结论:

os.getcwd返回的是当前工作根目录

sys.argv[0] 返回的python命令后面的第一个字符串变量

sys.path[0] 返回的是被执行脚本所在的目录


将当前目录切换到被执行文件所在的目录

para.csv在被执行文件所在的同级目录

print(sys.path[0])
print(os.getcwd())
print(sys.argv[0])
os.chdir(sys.path[0])
print(os.getcwd())
df=pd.read_csv('para.csv')

print(df)

结果输出:

d:\project\test
d:\
d:/project/test/test.py
d:\project\test
         train records num        710661
0   validation records num  34395.000000
1                    epoch  50000.000000
2          layer one units     32.000000
3          layer two units      6.000000
4                keep_prob      0.800000
5      regularization_rate      0.000100
6            learning_rate      0.001000
7    num_layer_input_units      6.000000
8   num_layer_output_units      6.000000

9  run time  total seconds  45095.870531

结论:正确地读取了para.csv文件,


将os.chdir(sys.path[0])注释掉

结果输出:FileNotFoundError: File b'para.csv' does not exist


结论:说明os.chdir(sys.path[0])能将当前工作目录切换到被执行文件所在的目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值