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

Posted

技术标签:

【中文标题】将文件保存在新目录中(python)【英文标题】:Saving Files In New Directory (python) 【发布时间】:2013-04-20 02:11:35 【问题描述】:

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

这是我试过的代码:

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")

当我运行它时,它会在每个子目录之间放置两个 \ 而不是一个,它告诉我它不是现有文件或目录。

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

【问题讨论】:

代码的许多问题中的第一个是常规 Python 字符串中的反斜杠需要加倍,因为通常它是一个特殊的“转义”字符。或者,您可以在字符串前面加上 r,然后您就不必这样做了。即"C:\\Documents and Settings\\User\\My Documents"r"C:\Documents and Settings\User\My Documents"。此外,您需要使用pjoin() 将目录名称连接到a,用于open() 的输入和输出文件,其中一个应打开读取,另一个打开写入。 如果您调用变量FILE 以免影响内置函数,请注意接受的约定是单个尾随下划线,即。 file_,所有大写字母通常用于常量 @jamylak 你是对的。 【参考方案1】:

为什么你没有转义"'quotes_like_this_inside_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")

双反斜杠没问题,AFAIK。 让我知道这是否可行 - 我目前不在 Windows 机器上。

【讨论】:

以上是关于将文件保存在新目录中(python)的主要内容,如果未能解决你的问题,请参考以下文章

利用python找出两文件夹里相同的文件并保存在新的文件夹下(分三种情况)

无法将文件保存到python中的其他目录中

如何将您在 python 中创建的 .wav 文件保存到指定目录?

按 R 中 csv 中的值选择行并将它们保存在新的 csv 文件中

Python在文件中查找字符串,编辑行并保存到新文件

从 .txt 中提取以空格分隔的列并添加以保存在新数据框中