7
import os
import random

os.chdir("C:\Users\Mainuser\Desktop\Lab6")

#Am i supposed to have a os.chdir? 
# I think this is what's giving the error
#how do i fix this? 

def getDictionary():
      result = []
      f = open("pocket-dic.txt","r")
      for line in f:
            result = result + [ line.strip() ];
      return result

def makeText(dict, words=50):
      length = len(dict)
      for i in range(words):
            num = random.randrange(0,length)
            words = dict[num]
            print word,
            if (i+1) % 7 == 0:
                  print 

当我的桌面上有一个具有该名称的文件夹时,Python 给我一个错误,说它找不到指定的路径。可能是os.chidr??我究竟做错了什么?

4

2 回答 2

10

反斜杠是 Python 字符串中的特殊字符,就像在许多其他语言中一样。有很多替代方法可以解决这个问题,从加倍反斜杠开始:

"C:\\Users\\Mainuser\\Desktop\\Lab6"

使用原始字符串:

r"C:\Users\Mainuser\Desktop\Lab6"

或使用os.path.join来构建您的路径:

os.path.join("c:", os.sep, "Users", "Mainuser", "Desktop", "Lab6")

os.path.join是最安全、最便携的选择。只要您在路径中硬编码了“c:”,它就不是真正可移植的,但它仍然是最佳实践和养成的好习惯。

Windows 上使用 Python os.path.join获得正确的方法来生成 c:\Users 而不是 c:Users。

于 2013-10-30T20:29:11.703 回答
3

反斜杠在 Python 字符串中具有特殊含义。您要么需要将它们加倍,要么使用原始字符串:(r"C:\Users\Mainuser\Desktop\Lab6"注意r开头引号之前的)。

于 2013-10-30T20:28:57.670 回答