标签: python

将字符串转换为datetime

简短而简单.我有一个巨大的日期时间列表,像这样的字符串:

Jun 1 2005  1:33PM
Aug 28 1999 12:00AM
Run Code Online (Sandbox Code Playgroud)

我将把它们推回到数据库中的正确日期时间字段中,因此我需要将它们变成真正的日期时间对象.

任何帮助(即使它只是在正确的方向踢)将不胜感激.

编辑:这是通过Django的ORM,所以我不能使用SQL来进行插入转换.

python datetime

2035
推荐指数
20
解决办法
273万
查看次数

如何逐行读取文件到列表中?

如何在Python中读取文件的每一行并将每一行存储为列表中的元素?

我想逐行读取文件,并将每行附加到列表的末尾.

python string file readlines

2028
推荐指数
22
解决办法
342万
查看次数

查找当前目录和文件的目录

在Python中,我可以使用哪些命令来查找:

  1. 当前目录(当我运行Python脚本时我在终端中的位置),以及
  2. 我正在执行的文件在哪里?

python directory

2007
推荐指数
13
解决办法
273万
查看次数

有没有办法对字符串进行子串?

有没有办法在Python中对字符串进行子串,以获取从第3个字符到字符串末尾的新字符串?

也许喜欢myString[2:end]

如果离开第二部分意味着'直到结束',如果你离开第一部分,它是从一开始就开始的吗?

python string

1995
推荐指数
13
解决办法
273万
查看次数

将字节转换为字符串?

我正在使用此代码从外部程序获取标准输出:

>>> from subprocess import *
>>> command_stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

communic()方法返回一个字节数组:

>>> command_stdout
b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2\n'
Run Code Online (Sandbox Code Playgroud)

但是,我想将输出作为普通的Python字符串.所以我可以这样打印:

>>> print(command_stdout)
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1
-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2
Run Code Online (Sandbox Code Playgroud)

我认为这是binascii.b2a_qp()方法的用途,但是当我尝试它时,我又得到了相同的字节数组:

>>> binascii.b2a_qp(command_stdout)
b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file2\n'
Run Code Online (Sandbox Code Playgroud)

有人知道如何将字节值转换回字符串吗?我的意思是,使用"电池"而不是手动操作.而且我希望它能用于Python 3.

python string python-3.x

1968
推荐指数
18
解决办法
203万
查看次数

在终端上打印颜色?

如何在Python中将彩色文本输出到终端?表示实体块的最佳Unicode符号是什么?

python unicode terminal ansi-colors

1929
推荐指数
51
解决办法
110万
查看次数

1910
推荐指数
11
解决办法
182万
查看次数

如何在Python中小写一个字符串?

有没有办法将字符串从大写,甚至部分大写转换为小写?

例如公里 - >公里.

python string lowercase uppercase

1908
推荐指数
5
解决办法
227万
查看次数

为什么Python 3中的"1000000000000000在范围内(1000000000000001)"如此之快?

据我所知,该range()函数实际上是Python 3中的一个对象类型,它可以动态生成其内容,类似于生成器.

在这种情况下,我预计下面的行会花费大量的时间,因为为了确定1千万亿是否在该范围内,必须生成一个千万亿的值:

1000000000000000 in range(1000000000000001)
Run Code Online (Sandbox Code Playgroud)

此外:似乎无论我添加多少个零,计算或多或少都需要相同的时间(基本上是瞬时的).

我也试过这样的事情,但计算仍然几乎是即时的:

1000000000000000000000 in range(0,1000000000000000000001,10) # count by tens
Run Code Online (Sandbox Code Playgroud)

如果我尝试实现自己的范围功能,结果就不那么好了!!

def my_crappy_range(N):
    i = 0
    while i < N:
        yield i
        i += 1
    return
Run Code Online (Sandbox Code Playgroud)

range()在引擎盖下做的对象是什么让它如此之快?


选择Martijn Pieters的答案是因为它的完整性,但也看到了abarnert的第一个答案,可以很好地讨论在Python 3中range成为一个完整的序列意味着什么,以及关于__contains__Python实现中函数优化的潜在不一致的一些信息/警告.abarnert的另一个答案更详细,并为那些对Python 3中的优化背后的历史感兴趣的人提供了链接(并且缺乏xrangePython 2中的优化).pokewim的答案感兴趣的人提供了相关的C源代码和解释.

python performance range python-3.x python-internals

1890
推荐指数
11
解决办法
18万
查看次数

如何访问环境变量值?

我设置了一个我想在Python应用程序中访问的环境变量.我如何获得这个价值?

python environment-variables

1878
推荐指数
14
解决办法
161万
查看次数