使用输入更改目录路径

Asori12

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

    import shutil

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

我必须放在a周围以便它不会作为字符串的一部分读取吗?

雅各布365

这应该做您想要的。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)将执行您想要的操作。

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

如果您的目录没有任何子目录,这将起作用。如果其中有目录和文件,它可能仍然可以工作,但我没有对此进行测试。进口shutil进口操作系统

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章