再次请教一个基本的python问题,将文件移动到变量文件夹

  • 花菊
    感谢之前指教python的坛友,现在又遇到一个非常基本的python问题,可能也是过于简单,网上搜索了一圈还是没找到答案。


    需要将一个文件夹下的所有文件移动到另一个文件夹。源文件的文件夹是固定的,目标文件夹是一个变量文件夹,会根据输入的标题和日期生成,b=os.getcwd() os.makedirs(b+"\\文件\\"+title+"\\"+date+"")

    移动文件代码:
    p = "D:\\Downloads"
    n_p = "b+"\\文件\\"+title+"\\"+date+""
    paa = []
    file(p)
    for f in paa:
    try:
    shutil.move(f,n_p)

    执行完代码之后文件没有移动到目标文件夹。感觉应该是n_p = "b+"\\文件\\"+title+"\\"+date+""这里的路径输入有问题?如果是n_p = "D:\\文件\\"这种固定路径的话文件就可以移动过去。


    请教一下,像这种目标文件夹是变量文件夹的话,文件路径需要怎么写?
  • w
    wsyx87930
    文件夹路径=字符串+变量(+字符串)不就行了
  • h
    hotlee
    你这个n_p没有报错吗?并且你ffa不是个空吗?
  • P
    Pyrrhus
    for root, dirs, files in os.walk(p):
    for f in files:
    shutil.move(f,n_p)
  • 花菊
    回复2#wsyx87930


    能否具体一点?这个

    n_p = "

    b+"\\文件\\"+title+"\\"+date+"

    " 就是字符串+变量吧,但是系统识别不了。

  • 花菊
    回复3#hotlee


    这个是代码的一部分,网上复制的,https://www.cnblogs.com/68xi/p/11665951.html

    实在是编程小白,都是搜索代码。这段具体啥意思不太懂,不过可以实现移动文件的功能。
  • 花菊
    回复4#Pyrrhus


    n_p的文件路径怎么写?

  • 海风
    在引号嵌套时,尽量双引号和单引号交叉使用。你的引号是单数啊,是不是漏了一个?

    n_p = b+"\\文件\\"+title+"\\"+date+""

    没看明白 为什么最后要加“”

    排错的话 在这个赋值语句下面加一个print(n_p) 看看有没有错
  • 5
    5354gz
    试一下用 %s 的格式
  • 花菊
    回复8#海风


    应该没错,打印出来的文件路径是对的。
  • l
    lolo8
    马克!
  • 花菊
    曲线搞定了,把n_p = "b+"\\文件\\"+title+"\\"+date+"" 改成"d:\\文件 \\"+title+"\\"+date+"",把第一个变量的盘符变成具体的盘符。
  • c
    chilonghun
    最外面不要加双引号 iOS fly ~
  • c
    chilonghun
    回复12#花菊
    明白了,你可以直接获取文件所在位置;如果没有,可以直接到具体盘,后面再加变量即可。前面的变量b有些奇怪 iOS fly ~
  • h
    happyd8699
    把try去掉,看执行报什么错
  • x
    xsonglive
    直接format多好,非得用加法拼接字符串