【问题标题】:Saving Files In New Directory (python)将文件保存在新目录中(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 你是对的。

标签: python directory save subdirectory


【解决方案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 机器上。

【讨论】:

    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2021-03-05
    • 2020-04-21
    相关资源
    最近更新 更多