在新目录中保存文件(python)

在新目录中保存文件(python),python,directory,save,subdirectory,Python,Directory,Save,Subdirectory,我正在尝试将输入文件保存到计算机上的新文件夹中,但我不知道如何正确执行 以下是我尝试的代码: from os.path import join as pjoin a = raw_input("File Name: ") filepath = "C:\Documents and Settings\User\My Documents\'a'" fout = open(filepath, "w") path_to_file = pjoin("C:\Documents and Settings User

我正在尝试将输入文件保存到计算机上的新文件夹中,但我不知道如何正确执行

以下是我尝试的代码:

from os.path import join as pjoin
a = raw_input("File Name: ")
filepath = "C:\Documents and Settings\User\My Documents\'a'"
fout = open(filepath, "w")
path_to_file = pjoin("C:\Documents and Settings User\My Documents\Dropbox",'a')
FILE = open(path_to_file, "w")
当我运行它时,它在每个子目录之间放置两个
\
,而不是一个,它告诉我它不是一个现有的文件或目录


我相信有一种更简单的方法可以做到这一点,请帮助。

为什么你有未替换的
“'quotes'像'u this.'u inside.'u quotes'”
?这可能是失败的原因之一

据我所知,您保存到的目录是
“C:\Documents and Settings\User\My Documents\”
“C:\Documents and Settings\User\My Documents\”

无论何时处理目录/路径,请始终使用
os.expanduser(“~/something/blah”)

试试这个:

from os.path import expanduser, join

path_to_file1 = join(expanduser('~/Dropbox/'), 'a')
path_to_file2 = join(expanduser('~'), 'a')
fout = open(path_to_file2, "w")
FILE = open(path_to_file1, "w")
两个反斜杠没问题,好的。
让我知道这是否有效-我现在不在Windows机器上。

您的代码的许多问题中的第一个问题是,常规Python字符串中的反斜杠需要加倍,因为它通常是一个特殊的“转义”字符。或者,您可以在字符串前面加上
r
,然后您就不必这样做了。也就是说,
”C:\\Documents and Settings\\User\\My Documents“
r”C:\Documents and Settings\User\My Documents“
。您还需要使用
pjoin()
将您打开的输入和输出文件的目录名连接到
a
,其中一个应该打开读取,另一个应该打开写入。如果您调用变量
文件
,以避免隐藏内置项,请注意,公认的惯例是使用单个尾随下划线,即
文件
,所有大写字母都用于常量usually@jamylak你说得对。