Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于python脚本中的日期样式(例如/2016-01-10)的正确路径_Python_Date_Path - Fatal编程技术网

基于python脚本中的日期样式(例如/2016-01-10)的正确路径

基于python脚本中的日期样式(例如/2016-01-10)的正确路径,python,date,path,Python,Date,Path,我编写了一个脚本,如下所示,用于检查PARENT\u DIR中新创建/修改的文件夹的内容(在本例中是在过去45分钟内),并在MOVE\u DIR的指定路径上复制这些文件夹 import os from shutil import copytree from time import time def mins_since_mod(fname): """Return time from last modification in minutes""" return (time() - os.pat

我编写了一个脚本,如下所示,用于检查
PARENT\u DIR
中新创建/修改的文件夹的内容(在本例中是在过去45分钟内),并在
MOVE\u DIR
的指定路径上复制这些文件夹

import os
from shutil import copytree 
from time import time

def mins_since_mod(fname):
"""Return time from last modification in minutes"""
return (time() - os.path.getmtime(fname)) / 60

PARENT_DIR = '/home/B/A/(..?)'
MOVE_DIR = '/home/A/Updated_Folders'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
# If the file is a directory and was modified in last 45 minutes
     if os.path.isdir(fname) and mins_since_mod(fname) < 45:
       copytree(fname, MOVE_DIR) # move it to a new location
导入操作系统
从shutil导入copytree
从时间导入时间
def分钟数(fname):
“”“上次修改的返回时间(分钟)”
return(time()-os.path.getmtime(fname))/60
父目录='/home/B/A/(…?)
MOVE_DIR='/home/A/Updated_Folders'
#循环父目录中的文件
对于os.listdir(父目录)中的fname:
#如果文件是一个目录并且在过去45分钟内被修改
如果os.path.isdir(fname)和mins_-since_-mod(fname)<45:
复制树(fname,MOVE#u DIR)#将其移动到新位置
还有另一个脚本(这是出于我们的兴趣,但是)根据日期不时地创建和命名新文件夹(例如有
/B/A/2015-12-10
/B/A/2015-12-25
/B/A/2016-01-11
/B/A/2016-01-12
等)

我只想选择今天创建的文件夹(在
PARENT\u DIR
中对路径进行动态命名,例如:
/2016-01-12
,用于今天),然后在目标位置复制它。我不想每次都手动检查和输入路径,而是希望每天都自动完成。只需执行脚本

为了实现这个目标,我应该如何处理
父目录='/home/B/A/(…?)

p、 s:我试图使用PARENT_DIR='/home/B/A/$(date+%Y-%m-%d)',但没有成功


非常感谢您的帮助。

您可以使用datetime模块获取当前日期:

然后,您可以将其附加到文件路径:

PARENT_DIR = 'home/B/A' + currentdate

只需确保在追加之前将datetime对象转换为字符串。

您可以使用datetime模块获取当前日期:

然后,您可以将其附加到文件路径:

PARENT_DIR = 'home/B/A' + currentdate

只需确保在追加之前将datetime对象转换为字符串。

我通过以下更改解决了问题:

import os
import datetime
from shutil import copytree
from shutil import move
from time import time


def mins_since_mod(fname):
"""Return time from last modification in minutes"""
return (time() - os.path.getmtime(fname)) / 60
today = datetime.date.today()
PARENT_DIR = '/home/B/A/'+str(today)
MOVE_DIR = '/home/B/A/BackMeUp'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
# If the file is a directory and was modified in last 15 minutes
if os.path.isdir(fname) and mins_since_mod(fname) < 60:
   copytree(fname, MOVE_DIR) # move it to a new location
导入操作系统
导入日期时间
从shutil导入copytree
从舒蒂尔进口
从时间导入时间
def分钟数(fname):
“”“上次修改的返回时间(分钟)”
return(time()-os.path.getmtime(fname))/60
今天=datetime.date.today()
父目录='/home/B/A/'+str(今天)
MOVE_DIR='/home/B/A/BackMeUp'
#循环父目录中的文件
对于os.listdir(父目录)中的fname:
#如果文件是一个目录并且在过去15分钟内被修改
如果os.path.isdir(fname)和mins_-since_-mod(fname)<60:
复制树(fname,MOVE#u DIR)#将其移动到新位置

我通过以下更改解决了问题:

import os
import datetime
from shutil import copytree
from shutil import move
from time import time


def mins_since_mod(fname):
"""Return time from last modification in minutes"""
return (time() - os.path.getmtime(fname)) / 60
today = datetime.date.today()
PARENT_DIR = '/home/B/A/'+str(today)
MOVE_DIR = '/home/B/A/BackMeUp'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
# If the file is a directory and was modified in last 15 minutes
if os.path.isdir(fname) and mins_since_mod(fname) < 60:
   copytree(fname, MOVE_DIR) # move it to a new location
导入操作系统
导入日期时间
从shutil导入copytree
从舒蒂尔进口
从时间导入时间
def分钟数(fname):
“”“上次修改的返回时间(分钟)”
return(time()-os.path.getmtime(fname))/60
今天=datetime.date.today()
父目录='/home/B/A/'+str(今天)
MOVE_DIR='/home/B/A/BackMeUp'
#循环父目录中的文件
对于os.listdir(父目录)中的fname:
#如果文件是一个目录并且在过去15分钟内被修改
如果os.path.isdir(fname)和mins_-since_-mod(fname)<60:
复制树(fname,MOVE#u DIR)#将其移动到新位置

I添加了
PARENT\u DIR='/home/sina/Desktop/'+time.strftime(“%Y-%m-%d”)
导入时间
紧跟导入操作系统之后和导入日期时间但当我执行它时,我得到了这样的结果:
AttributeError:“内置函数或方法”对象没有属性“strftime”
我添加了
父目录='/home/sina/Desktop/'+time.strftime(“%Y-%m-%d”)
导入时间
紧跟在
导入操作系统之后
也导入了
导入日期时间
,但当我执行它时,我得到了这样一个信息:
属性错误:“内置函数”或“方法”对象没有属性“strftime”