我试图在Python 2.7中编写一个函数,将一系列数字转换为有效的日期.到目前为止,这一切都与转换有关.
这是相关代码:
import datetime
def convert_date(x,y,z):
orig_date = datetime.datetime(x,y,z)
d = datetime.datetime.strptime(str(orig_date), '%Y-%m-%d %H:%M:%S')
result = d.strftime('%m-%d-%Y')
return orig_date
a = convert_date(13,11,12)
print a
Run Code Online (Sandbox Code Playgroud)
每当我运行这个,我得到:
回溯(最近一次调用最后一次):文件"test.py",第9行,在= convert_date(13,11,12)文件"test.py",第5行,在convert_date d = datetime.datetime.strptime(orig_date) ,'%Y-%m-%d%H:%M:%S')
TypeError:必须是string,而不是datetime.datetime
我知道这是因为strptime给了我一个datetime object,但我怎么能让它起作用呢?
我正在使用pycharm开发一个python项目.但是,问题是它拒绝加载相对路径包含的文件../.当我尝试
self.image = pygame.image.load("../resources/img/prey.png").convert_alpha()
Run Code Online (Sandbox Code Playgroud)
我明白了:
self.image = pygame.image.load("../resources/img/prey.png").convert_alpha()
pygame.error: Couldn't open ../resources/img/prey.png
Run Code Online (Sandbox Code Playgroud)
问题是当从终端运行我的代码时,它工作正常,这意味着问题在于pycharm.
现在,问题是,虽然这听起来像许多其他问题,其中目录不是工作目录的一部分,添加:
import os
print os.getcwd()
Run Code Online (Sandbox Code Playgroud)
来自pycharm给了我 /media/Storage/System and dev/Code/Cross Platform/python/boids/current
我的目录结构似乎是正确的:
./current
./resources
./img
prey.png
./objects
modules_that_I_import.py
./experiments
code_that_I_actually_run.py
Run Code Online (Sandbox Code Playgroud)
运行的代码self.image=pygame.image.load("../resources/img/prey.png").convert_alpha()是./objects
我Pycharm Community Edition 2016.1.2在Linux Mint上使用Python 2.7.
任何帮助表示赞赏.
编辑
当os.getcwd我从命令行运行时,我得到了/media/Storage/System and dev/Code/Cross Platform/python/boids/current/experiments