小编Fak*_*ame的帖子

TypeError:使用strptime时必须是string,而不是datetime.datetime

我试图在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,但我怎么能让它起作用呢?

python datetime strptime typeerror

10
推荐指数
1
解决办法
4万
查看次数

Pycharm没有看到相对路径中的文件../

我正在使用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

python path relative-path filepath pycharm

8
推荐指数
1
解决办法
8100
查看次数