Python操作系统在更改目录以写入新文件时出错,必须使用chdir()

Python操作系统在更改目录以写入新文件时出错,必须使用chdir(),python,python-3.x,file-io,Python,Python 3.x,File Io,这看起来很简单/愚蠢,但在谷歌搜索了一下之后,似乎这太简单了,没人问过。 我试图在python 3.4.2中打开一个txt文件进行编写(在3.4.1中也尝试过),但出现了一个操作系统错误。 作为编程新手,我尝试做的事情非常简单和幼稚,我只想在另一个不同于“默认”目录(即从我的桌面到c驱动器)的目录中有一个新的文本输出文件。使用chdir()是一项要求 import os os.chdir("C:\\") outfile=open("asdf.txt","w") 错误是这样的 Traceback

这看起来很简单/愚蠢,但在谷歌搜索了一下之后,似乎这太简单了,没人问过。 我试图在python 3.4.2中打开一个txt文件进行编写(在3.4.1中也尝试过),但出现了一个操作系统错误。 作为编程新手,我尝试做的事情非常简单和幼稚,我只想在另一个不同于“默认”目录(即从我的桌面到c驱动器)的目录中有一个新的文本输出文件。使用chdir()是一项要求

import os
os.chdir("C:\\")
outfile=open("asdf.txt","w")
错误是这样的

Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
outfile=open("asdf.txt","w")
OSError: [Errno 22] Invalid argument: 'asdf.txt'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
outfile=open(“asdf.txt”、“w”)
OSError:[Errno 22]无效参数:“asdf.txt”
如果我把上面的代码改成这个
os.chdir(“c:”)
它在目录中没有更改,但没有错误。
os.chdir(“c:/”
也会出现错误。所有代码都在pyshell和IDLE上进行了尝试,最后一行OSError是相同的

谁能告诉我我搞砸了什么? 这也是我在这里提出的第一个问题。
谢谢你的帮助和好意

您正试图在一个目录中创建一个文件,但您没有在其中创建文件的权限。不要那样做。

我不确定。我看到您正在使用pyshell,它可能正在执行一些路径操作(只是一个猜测)。如果所有其他方法都失败,我建议在打开文件时使用完整路径,而不是相对路径。
outfile=open(“c:\\asdf.txt”,“w”)
也会导致
OSError:[Errno 22]无效参数:
,无论是否带有chdir()内容。不要允许任意进程写入未明确指定的目录。相反,可以使用适当的现有目录,或者为脚本创建一个新的要写入的目录。要更改权限,请转到cmd并键入
icacls c:\/setintegritylevel M
,它会执行此任务。然而,这会损害我的计算机或使我的计算机处于危险之中吗?