相关疑难解决方法(0)

python在Windows和Unix上处理不同的长整数

自纪元以来的当前毫秒数1395245378429; 在unix(64位/ Ubuntu/python 2.7)上,你可以这样做:

>>> t = 1395245378429
>>> type(t)
<type 'int'>
>>> t = 1395245378429L
>>> type(t)
<type 'long'>
>>> int(t)
1395245378429
>>> type(int(t)
<type 'int'>
Run Code Online (Sandbox Code Playgroud)

但在Windows(也是64位/ python 2.7)上,会发生这种情况:

>>> t = 1395245378429
>>> type(t)
<type 'long'>
>>> int(t)
1395245378429L
>>> type(int(t))
<type 'long'>
Run Code Online (Sandbox Code Playgroud)

那么,以下奇怪的观察:

  • 在Windows上,int(<long>)返回一个长
  • 相同的数字在Windows中被视为long,但在unix上被视为int

我在文档中看不到任何明显的东西,说这是正确的行为; 有没有(正确的)方法将long转换为int(即所以它可以在需要int参数的方法中使用)

python

2
推荐指数
1
解决办法
585
查看次数

标签 统计

python ×1