0
我有一個相當複雜的工作Enthought/Python程序:os.path.join在Enthought/Python的返回Errno22即返回該錯誤
File "C:\Users\riddle\Desktop\FCI2\src\equation.py", line 41, in main
fci_data = np.load(os.path.join(local_data_path, "fci_data.npy"))
File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 329, in load
fid = open(file, "rb")
IOError: [Errno 22] invalid mode ('rb') or filename: 'C:\\Users\white\\Desktop\
\FCI2New\\data\\fci_data.npy'
對於這一點:
fci_data = np.load(os.path.join(local_data_path, "fci_data.npy"))
fci_data = fci_data.replace("'\\','/'")
額外的斜槓讓我特別困惑。 local_data_path是全局的,定義如下:
local_data_path = static.base_data_path
base_data_path = "C:\Documents and Settings\white\Desktop\FCI2New\data" (from the static module)
任何人都有一個想法這裏可能是什麼問題? 'rb'應該是fci_data的正確模式。請原諒任何錯誤或明顯的問題,我是一個初學者。
安妮
也許一些有趣的事情發生了,由於魔法轉換 「C:\ Documents和Settings」 到 「C:\用戶」。如果您直接指定base_data_path = r「C:\ Users \ ....」,它會起作用嗎?另外,根據定義,base_data_path或者需要反斜槓,或者使用原始字符串(正如我對字母r所做的那樣,看起來好多了)。爲什麼你需要用正斜槓替換你的反斜槓? – DaveP
錯誤消息中反斜槓的倍數是因爲它顯示'repr(the_path)'。令人驚訝的是,在「白色」之前的單個反斜槓......是來自複製/粘貼的,還是你手動輸入的? –