使用输入更改目录路径

时间:2017-07-31 18:57:10

标签: python shutil

我是python的新手,我觉得答案很简单,但我不知道答案是什么。我正在尝试将文件从一个地方移动到另一个地方,但我不想每次想要移动该文件时都要更改我的代码,所以我只想从终端获取用户输入。

    import shutil

    loop = True
    while loop:
        a = input()
        shutil.move("/home/Path/a", "/home/Path/Pictures")

我需要在a处放置什么,以便它不会将其作为字符串的一部分读取?

2 个答案:

答案 0 :(得分:3)

这应该做你想要的。 os.path.join()会将输入中的字符串值与您提供的路径的第一部分组合在一起。您应该使用os.path.join(),因为这将以与系统无关的方式形成路径。

import shutil
import os

loop = True

while loop:
    a = input()
    shutil.move(os.path.join("/home/Path/", a), "/home/Path/Pictures")

输出:

>>> a = input()
    test.txt
>>> path = os.path.join("/home/Path/", a)
>>> path
    '/home/Path/test.txt'

你也可以使用"/home/Path/{0}".format(a)将{a}的值与{0}交换,或者你也可以"/home/Path/{0}" + str(a)执行你想要的操作。

编辑评论中的问题:

如果您的目录没有任何子目录,这将有效。它可能仍然有效,如果有目录和文件,但我没有测试。     import shutil     import os

files = os.listdir("/home/Path/")
for file in files:
    shutil.move(os.path.join("/home/Path/", file), "/home/Path/Pictures")

答案 1 :(得分:0)

一个解决方案

a = 'test.csv'
path = '/home/Path/{}'.format(a)

>>> path
/home/Path/test.csv