在Python脚本中向文本字符串添加日期信息

2024-05-12 15:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经成功地编写了一个Python脚本上传到YouTube上。如有需要,请参阅this question了解详细信息:

我知道需要添加日期信息的标题,因为我每天上传一个视频,他们看起来都很相似的页面。在

在我用PHP运行的旧脚本中,我可以在描述的末尾添加日期,比如:

$myVideoEntry->setVideoTitle('Parliament Hill Ottawa Canada Time lapse for ' . date('D, jS F Y', mktime(0, 0, 0, date("m"), date("d")-1)));

这将使视频标题像“加拿大渥太华国会山时间延迟,星期五,2017年1月20日。”

新的Python命令行如下所示:

^{pr2}$

我曾尝试添加日期信息,但如果日期信息是在字段之后添加的,而不是在“”中添加的,则脚本总是出错。我希望有一种方法可以在PHP中这样做。在

我的问题是如何使Python视频标题看起来像旧的PHP,其中包含日期信息。日期是昨天的日期,因为脚本在午夜运行,所以视频如果是昨天。在

谢谢

编辑: @Irisshpunk我创建了一个测试脚本,看看我是否可以得到日期信息,除了无法以上面我想要的格式获取昨天的日期之外,它们都正常工作

python << END
import time
import datetime
print("Current date and time: " , datetime.datetime.now())
print("Current year: ", datetime.date.today().strftime("%Y"))
print("Month of year: ", datetime.date.today().strftime("%B"))
print("Week number of the year: ", datetime.date.today().strftime("%W"))
print("Weekday of the week: ", datetime.date.today().strftime("%w"))
print("Day of year: ", datetime.date.today().strftime("%j"))
print("Day of the month : ", datetime.date.today().strftime("%d"))
print("Day of week: ", datetime.date.today().strftime("%A"))

import datetime
today = datetime.date.today( )
yesterday = today - datetime.timedelta(days=1)
print yesterday
END

这将产生以下结果:

('Current date and time: ', datetime.datetime(2017, 1, 21, 18, 42, 18, 750076)) 
('Current year: ', '2017')
('Month of year: ', 'January')
('Week number of the year: ', '03')
('Weekday of the week: ', '6')
('Day of year: ', '021')
('Day of the month : ', '21')
('Day of week: ', 'Saturday')
2017-01-20

下面是我运行的脚本,我不知道如何将日期信息添加到“title”字符串中(如果它是这样的话)。在

echo "Start Youtube upload Python script"
cd /path to/youtube-upload/
python upload_video.py --file=/home/www/localhost/htdocs/Jpeg2/history2/webcam2-video-hi.avi --title="Parliament Hill Ottawa Canada Timelapse" --description="Video of images taken through the day of Parliament House" --keywords="timelapse, Time-lapse-Photography, Parliament, Parliament Hill, Canada, Ontario, video, Hill, weather" --category=19 --privacyStatus="public" --noauth_local_webserver

这将上载没有日期的视频。“上传_视频.py“是用api下载的,这不是我想不出的问题。您可以看到代码here

我试着用这个函数:

python upload_video.py --file=/home/www/localhost/htdocs/Jpeg2/history2/webcam2-video-hi.avi --title="Parliament Hill Ottawa Canada Timelapse"$(date --date="-1 day") --description="Video of images taken through the day of Parliament House" --keywords="timelapse, Time-lapse-Photography, Parliament, Parliament Hill, Canada, Ontario, video, Hill, weather" --category=19 --privacyStatus="public" --noauth_local_webserver

这是一个错误:

Start Youtube upload Python script
usage: upload_video.py [--auth_host_name AUTH_HOST_NAME]
                   [--noauth_local_webserver]
                   [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                   [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                   --file FILE [--title TITLE] [--description DESCRIPTION]
                   [--category CATEGORY] [--keywords KEYWORDS]
                   [--privacyStatus {public,private,unlisted}]
upload_video.py: error: unrecognized arguments: 20 Jan 19:09:39 EST 2017

所以问题是如何在Python中获取昨天的日期并将其添加到这个字符串中——title=“Parliament Hill渥太华加拿大Timelapse”,这样它就包含在字符串中了。在


Tags: ofthe脚本信息todaydatetimedate视频
1条回答
网友
1楼 · 发布于 2024-05-12 15:24:04

好的,我使用提供的信息来搜索日期函数,并找到了一个解决方案。感谢你们对这个问题的三位投稿人,因为我对每一位都做了一点分析。如果您感兴趣,可以观看herehere视频。第一个加入剧本的将是东部时间1月21日星期六午夜。在

最后的脚本如下所示:

#!/bin/bash
yest=$(date  date="yesterday" +"%A %d %b %Y")
echo "Start Youtube upload Python script"
cd /home/www/localhost/htdocs/scripts/youtube-upload/
python upload_video.py  file=/home/www/localhost/htdocs/Jpeg2/history2/webcam2-video-hi.avi  title="Parliament Hill Ottawa Canada Timelapse for"" $yest"  description="Video of images taken through the day of Parliament House"  keywords="timelapse, Time-lapse-Photography, Parliament, Parliament Hill, Canada, Ontario, video, Hill, weather"  category=19  privacyStatus="public"  noauth_local_webserver

相关问题 更多 >