Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件修改了套接字上的时间获取和设置_Python_File_Time_Python 3.x - Fatal编程技术网

Python文件修改了套接字上的时间获取和设置

Python文件修改了套接字上的时间获取和设置,python,file,time,python-3.x,Python,File,Time,Python 3.x,我已经编写了一些代码,其中使用 os.path.getmtime('path') 它返回一些数字,如965465464.19234。我将其转换为字节并通过套接字发送。在另一端,我读取套接字并尝试使用以下命令将此时间戳设置为另一个文件: os.utime('path',(access_time, modified_time)) 当我尝试设置从套接字接收的修改的\u时间时,我确保访问时间保持不变。但是utime需要一个整数,所以我截断了这个数字(例如:965465464),然后一切正常 我是否因

我已经编写了一些代码,其中使用

os.path.getmtime('path')
它返回一些数字,如
965465464.19234
。我将其转换为字节并通过套接字发送。在另一端,我读取套接字并尝试使用以下命令将此时间戳设置为另一个文件:

os.utime('path',(access_time, modified_time))
当我尝试设置从套接字接收的
修改的\u时间时,我确保
访问时间
保持不变。但是
utime
需要一个整数,所以我截断了这个数字(例如:
965465464
),然后一切正常

我是否因为截断而失去了什么?如何改进此功能?

getmtime()
返回
st\u mtime
。发件人:

注:st_atime、st_mtime和 时间属性取决于操作系统和文件 系统。例如,在使用FAT或FAT32文件的Windows系统上 系统中,st_mtime的分辨率为2秒,而st_atime只有1天 决议有关详细信息,请参阅操作系统文档。 类似地,尽管时间、时间和时间是 通常以纳秒表示,许多系统不提供 纳秒精度。在提供纳秒精度的系统上, 用于存储标准时间、标准时间和标准时间的浮点对象 Stu_êctime无法保存所有这些,因此将稍微保留一点 不准确如果需要确切的时间戳,则应始终使用 时间、时间和时间。

强调我的

您可以使用
ns
参数将整数纳秒从
os.stat()
传递到
os.utime()

getmtime()
返回
st\u mtime
。发件人:

注:st_atime、st_mtime和 时间属性取决于操作系统和文件 系统。例如,在使用FAT或FAT32文件的Windows系统上 系统中,st_mtime的分辨率为2秒,而st_atime只有1天 决议有关详细信息,请参阅操作系统文档。 类似地,尽管时间、时间和时间是 通常以纳秒表示,许多系统不提供 纳秒精度。在提供纳秒精度的系统上, 用于存储标准时间、标准时间和标准时间的浮点对象 Stu_êctime无法保存所有这些,因此将稍微保留一点 不准确如果需要确切的时间戳,则应始终使用 时间、时间和时间。

强调我的

您可以使用
ns
参数将整数纳秒从
os.stat()
传递到
os.utime()


我不认为这个问题与被修改的时间是浮点或整数有关。下面的代码应该可以工作。我什么都做了,但都是通过电线发送的

import os
from datetime import datetime
from calendar import timegm
import sys
st_info = os.stat('foo.py')
st_info.st_atime #acces time
st_info.st_mtime #modified time
mtime = st_info.st_mtime
atime = st_info.st_atime
# send over the wire
os.utime('foo.py', (atime, mtime))
正如您所看到的,os.utime可以很好地处理浮动

时间

Out[15]:1322517342.0

In[16]:类型(mtime)


Out[16]:float

我不认为这个问题与被修改的时间是float或integer有关。下面的代码应该可以工作。我什么都做了,但都是通过电线发送的

import os
from datetime import datetime
from calendar import timegm
import sys
st_info = os.stat('foo.py')
st_info.st_atime #acces time
st_info.st_mtime #modified time
mtime = st_info.st_mtime
atime = st_info.st_atime
# send over the wire
os.utime('foo.py', (atime, mtime))
正如您所看到的,os.utime可以很好地处理浮动

时间

Out[15]:1322517342.0

In[16]:类型(mtime)


Out[16]:float

一个小疑问,为了在Python3中转换,通过套接字发送需要我们将所有内容转换为字节,然后从字节返回到任何预期的内容。正当那么int和float的问题不会突然出现吗?谢谢你的回复。感谢您的帮助文档明确地说:“如果您需要确切的时间戳,您应该始终使用st_atime、st_mtime和st_ctime”。据我所知,OP需要精确的时间戳,因此应该使用integer
*\ns
属性。一个小疑问是,为了在python 3中转换,通过套接字发送需要我们将所有内容转换为字节,然后再从字节转换回所需的内容。正当那么int和float的问题不会突然出现吗?谢谢你的回复。感谢您的帮助文档明确地说:“如果您需要确切的时间戳,您应该始终使用st_atime、st_mtime和st_ctime”。据我所知,OP需要精确的时间戳,因此应使用整数
*\n属性。