2017-04-01 129 views
1

我試圖做一些會產生幾個隨機文件,並基於這些文件,它決定了會發生什麼(基於文本的冒險遊戲)的結果,是的,我想使用文件由於事實上這款遊戲應該是'可修改/可修改的'。出於某種原因,試圖在其他目錄下創建文件給我的錯誤使用Python創建/使用文件3.6

FileNotFoundError: [Errno 2] No such file or directory: 'file0599265.txt'

import os 
import os.path 
os.chdir("C:\Program Files (x86)\File Stuff") 
f = open('file' + str(rand.randint(1,1000000)) + '.txt', 'w') 
f.write('Test') 
f.close 

我必須這樣做,這將創建一個文件?我真的不能指望誰改變目錄的東西,使我想要的,但我現在堅持(「C:\ Program Files文件(x86)\文件的東西」僅用於測試目的)。

+0

我不能重複 - 它爲我工作。 – wwii

+0

確保你逃避你的反斜槓'os.chdir(「C:\\ Program Files(x86)\\ File Stuff」)'。這在這種情況下無關緊要,因爲'\ P'和'\ F'不是有效的轉義序列,但通常它可能會導致問題。另外,這個目錄是否存在? –

+0

嘗試運行C:之外的任何其他測試目錄的代碼: – alDiablo

回答

2

4問題之外:

  1. 您未導入random這將cuase錯誤
  2. 您應該使用with關鍵字,因爲它是漂亮的標準在這種情況下使用
  3. 必須有已經創建的目錄C:\\Program Files (x86)\\File Stuff
  4. 您需要將\更改爲\\\是一個轉義字符,所以如果你不逃避逃跑,那麼它可能會碰到衝突(即\n)。

事不宜遲,這裏的新代碼:

import os, os.path, random 
os.chdir("C:\\Program Files (x86)\\File Stuff") 
with open('file' + str(random.randint(1,1000000)) + '.txt', 'w') as f: 
    f.write('Test') 
+0

這一切都解決了我的問題!非常感謝。 –

+0

快樂編碼!祝你有個好的一天。 – Neil

0

嘗試寫入您確定擁有寫入權限的文件,例如在您家中的子文件夾中:C:\Users\YOUR_USERNAME

我沒有問題,運行你的代碼中,C:\Program Files (x86)\

+0

已經嘗試過了,仍然沒有工作,當我從桌面上的一個文件運行它時,它也沒有工作 –