将文件保存在新目录中(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 中创建的 .wav 文件保存到指定目录?