在python中写入文件并获取权限拒绝

时间:2014-04-25 01:20:31

标签: python permissions traceback

好吧,我有一个方法:

def manage_file(current_city):
    read_f = open('temp.txt', 'rb')
    dict = pickle.load(read_f)
    read_f.close()

    dict[time.strftime('%Y/%m/%d %H:%M:%S ') + current_city] = current_temp
    write_f = open('temp.txt', 'wb')
    pickle.dump(dict, write_f)
    return dict

出于某种原因,我收到了错误:

  

第21行,在manage_file中write_f = open('temp.txt','wb')IOError:   [Errno 13]权限被拒绝:'temp.txt'

任何熟悉此事的人都知道解决方案吗?

2 个答案:

答案 0 :(得分:3)

正如Jan Vlcinsky评论的那样,您似乎没有对该文件的写权限。如果您有足够的权限来更改文件权限(可能要求您知道超级用户密码),则可以在Linux计算机或Mac上的终端中使用chmod更改文件权限。

你会:

  • 打开终端
  • cd到正确的目录
  • 输入chmod abc temp.txt

a,b,c应该是在000和111之间以二进制表示的数字(所以0到7之间的数字)。二进制表示的每个数字分别编码读,写和执行权限。 a表示文件所有者的权限,b表示文件的组权限,c表示其他人的权限。

因此,您可以chmod 755 temp.txt为文件所有者授予读取,写入和执行权限(7 = 111),并为其他人提供读取和执行(5 = 101)权限。

答案 1 :(得分:0)

在包含temp.txt:

的目录中的shell提示符(通常为$)中尝试此操作
chmod 755 .
chmod 755 temp.txt