Python 读写当前路径下文件错误 UnboundLocalError: local variable 'file' referenced before assignment

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28766327/article/details/78853248

python读取文件是个比较常用的操作,最近我在读取文件的时候却遇到下面这个问题。

这里写图片描述

我的代码是:

try:
    file = open("./logs/test")
    ...
finally:
    file.close()

经测试,当我在脚本所在目录执行时,便不会出现这个错误
于是可以肯定

    file = open("./logs/test")

这段代码中 “.” 所代表的当前目录,并不是脚本所在目录。
通过查询资料,发现python中可能有以下三个获取当前目录的方法,这里将他们的结果打印出来

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

这里写图片描述

其中第一个是我的脚本所在的目录,第二个是我输入命令让脚本运行的目录,第三个连目录都不是。

所以将代码改成下面这样,问题即可解决

try:
    file = open(sys.path[0]+"/logs/test")
    ...
finally:
    file.close()

猜你喜欢

转载自blog.csdn.net/qq_28766327/article/details/78853248