python 获取ftp服务器中文件的创建时间
时间: 2023-03-27 21:04:47 浏览: 411
可以使用 ftplib 库中的 FTP 对象的 mdtm() 方法获取文件的最后修改时间,代码示例如下:
```python
from ftplib import FTP
ftp = FTP('ftp.example.com')
ftp.login(user='username', passwd='password')
filename = 'example.txt'
timestamp = ftp.sendcmd('MDTM ' + filename)
print('文件 {} 的创建时间为 {}'.format(filename, timestamp))
ftp.quit()
```
其中,ftp.sendcmd('MDTM ' + filename) 发送 MDTM 命令获取文件的最后修改时间,返回的时间戳需要进行格式化才能得到可读的时间。
相关问题
获取FTP远端文件创建时间
获取FTP远程文件的创建时间通常需要使用FTP客户端库,因为FTP服务器本身并不直接提供这样的信息。许多编程语言都有对应的FTP库,比如Python的ftplib,Java的Apache Commons Net等。
例如,在Python中,你可以这样做:
```python
import ftplib
def get_file_creation_time(host, username, password, file_path):
ftp = ftplib.FTP(host)
ftp.login(user=username, passwd=password)
try:
info = ftp.sendcmd('MDTM %s' % file_path) # 使用MDTM命令请求文件的时间戳
timestamp_str = info.split()[0] # 文件名后面的时间戳
timestamp = int(timestamp_str) / 86400 # 转换为Unix时间戳(天)
# 格式化或进一步处理时间戳
creation_time = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
return creation_time
except Exception as e:
print(f"Failed to get file creation time: {e}")
ftp.quit()
return None
# 使用示例
creation_time = get_file_creation_time("your_ftp_host", "your_username", "your_password", "/path/to/remote/file")
```
请注意,不是所有的FTP服务器都支持`MDTM`命令,有些可能只提供`STAT`命令返回文件大小、权限等信息。实际操作前最好查阅文档确认。
python连接ftp服务器
可以使用Python内置的ftplib模块连接FTP服务器,具体步骤如下:
1. 导入ftplib模块
```
import ftplib
```
2. 创建FTP对象并连接服务器
```
ftp = ftplib.FTP()
ftp.connect(host, port)
```
其中,`host`为FTP服务器地址,`port`为FTP服务器端口(默认为21)。
3. 登录FTP服务器
```
ftp.login(user, password)
```
其中,`user`为FTP服务器用户名,`password`为FTP服务器密码。
4. 执行相关操作
可以使用FTP对象的各种方法执行相关操作,比如:
- 获取FTP服务器目录
```
ftp.dir()
```
- 上传文件到FTP服务器
```
ftp.storbinary('STOR ' + filename, open(filename, 'rb'))
```
- 下载FTP服务器文件
```
ftp.retrbinary('RETR ' + filename, open(filename, 'wb').write)
```
5. 关闭FTP连接
```
ftp.quit()
```
完整代码示例:
```
import ftplib
host = 'ftp.example.com'
port = 21
user = 'username'
password = 'password'
ftp = ftplib.FTP()
ftp.connect(host, port)
ftp.login(user, password)
ftp.dir()
filename = 'example.txt'
ftp.storbinary('STOR ' + filename, open(filename, 'rb'))
ftp.retrbinary('RETR ' + filename, open(filename, 'wb').write)
ftp.quit()
```
阅读全文