2017-04-01 97 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

已经尝试过了,仍然没有工作,当我从桌面上的一个文件运行它时,它也没有工作 –