Python 使用输入更改目录路径

Python 使用输入更改目录路径,python,shutil,Python,Shutil,我对python有点陌生,我觉得这个问题的答案很简单,但我不知道答案是什么。我正在尝试将文件从一个地方移动到另一个地方,但我不想每次移动文件时都要更改代码,所以我只想从终端获取用户输入 import shutil loop = True while loop: a = input() shutil.move("/home/Path/a", "/home/Path/Pictures") 我必须在a周围放置什么,这样它就不会将其作为字符串的

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

    import shutil

    loop = True
    while loop:
        a = input()
        shutil.move("/home/Path/a", "/home/Path/Pictures")
我必须在a周围放置什么,这样它就不会将其作为字符串的一部分来读取?

一个解决方案

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

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

这应该是你想要的。
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}”格式(a)
,它将a的值与
{0}
交换,或者您可以执行
“/home/Path/{0}”+str(a)
,也可以执行您想要的操作

编辑以解释评论中的问题:

如果您的目录没有任何子目录,这将起作用。如果其中有目录和文件,它可能仍然有效,但我没有测试它。 进口舒蒂尔 导入操作系统

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

shutil.move(“/home/Path/{0}”.format(a),“/home/Path/Pictures”)如果我只是想移动文件夹中的所有内容,而不是文件夹,那该怎么办?@Asori12编辑并添加了一种简单的方法来做你想做的事情。