真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

s3cmdput操作怎么實(shí)現(xiàn)

這篇文章主要介紹“s3cmd put操作怎么實(shí)現(xiàn)”,在日常操作中,相信很多人在s3cmd put操作怎么實(shí)現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”s3cmd put操作怎么實(shí)現(xiàn)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、祁東網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、祁東網(wǎng)絡(luò)營(yíng)銷、祁東企業(yè)策劃、祁東品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供祁東建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

root:/tmp#  dd if=/dev/zero of=sparse-file bs=1 count=1 seek=1024k
1+0 records in
1+0 records out
1 byte (1 B) copied, 0.000509378 s, 2.0 kB/s
root:/tmp# du -sh sparse-file
4.0K	sparse-file #注意文件大小
root:/tmp# md5sum sparse-file
9587b149ff392ca6887a05d921e73e72  sparse-file




root:/tmp# s3cmd put sparse-file s3://us-bucket1
'sparse-file' -> 's3://us-bucket1/sparse-file'  [1 of 1]
 1048577 of 1048577   100% in    0s    17.72 MB/s  done
'sparse-file' -> 's3://us-bucket1/sparse-file'  [1 of 1]
 1048577 of 1048577   100% in    0s     5.84 MB/s  done
root:/tmp# s3cmd info s3://us-bucket1/sparse-file
s3://us-bucket1/sparse-file (object):
   File size: 1048577 #注意文件大小
   Last mod:  Fri, 18 Dec 2015 08:28:43 GMT
   MIME type: application/octet-stream
   MD5 sum:   9587b149ff392ca6887a05d921e73e72
   SSE:       none
   policy:    none
   cors:      none
   ACL:       en-user1: FULL_CONTROL
   x-amz-meta-s3cmd-attrs: uid:0/gname:root/uname:root/gid:0/mode:33188/mtime:1450427260/atime:1450427260/md5:9587b149ff392ca6887a05d921e73e72/ctime:1450427260








root:/tmp/hwcheck# s3cmd get s3://us-bucket1/sparse-file
's3://us-bucket1/sparse-file' -> './sparse-file'  [1 of 1]
's3://us-bucket1/sparse-file' -> './sparse-file'  [1 of 1]
 1048577 of 1048577   100% in    0s    23.74 MB/s  done
root:/tmp/hwcheck# du -sh sparse-file
1.1M	sparse-file #注意文件大小
md5sum sparse-file
9587b149ff392ca6887a05d921e73e72  sparse-file
s3cmd put操作的實(shí)現(xiàn)


def object_put(self, filename, uri, extra_headers = None, extra_label = ""):
# TODO TODO
# Make it consistent with stream-oriented object_get()
if uri.type != "s3":
raise ValueError("Expected URI type 's3', got '%s'" % uri.type)
if filename != "-" and not os.path.isfile(deunicodise(filename)):
raise InvalidFileError(u"Not a regular file")
try:
if filename == "-":
file = sys.stdin
size = 0
else:
file = open(deunicodise(filename), "rb")
size = os.stat(deunicodise(filename))[ST_SIZE]
except (IOError, OSError), e:
raise InvalidFileError(u"%s" % e.strerror)




python官文中對(duì)open函數(shù)的說明
open(name[, mode[, buffering]])
Open a file, returning an object of the file type described in section File Objects. If the file cannot be opened, IOError is raised. When opening a file, it’s preferable to use open() instead of invoking the file constructor directly.


The first two arguments are the same as for stdio‘s fopen(): name is the file name to be opened, and mode is a string indicating how the file is to be opened.


The most commonly-used values of mode are 'r' for reading, 'w' for writing (truncating the file if it already exists), and 'a' for appending (which on some Unix systems means that all writes append to the end of the file regardless of the current seek position). If mode is omitted, it defaults to 'r'. The default is to use text mode, which may convert '\n' characters to a platform-specific representation on writing and back on reading. Thus, when opening a binary file, you should append 'b' to the mode value to open the file in binary mode, which will improve portability. (Appending 'b' is useful even on systems that don’t treat binary and text files differently, where it serves as documentation.) See below for more possible values of mode.


The optional buffering argument specifies the file’s desired buffer size: 0 means unbuffered, 1 means line buffered, any other positive value means use a buffer of (approximately) that size (in bytes). A negative buffering means to use the system default, which is usually line buffered for tty devices and fully buffered for other files. If omitted, the system default is used. [2]


Modes 'r+', 'w+' and 'a+' open the file for updating (reading and writing); note that 'w+' truncates the file. Append 'b' to the mode to open the file in binary mode, on systems that differentiate between binary and text files; on systems that don’t have this distinction, adding the 'b' has no effect.


In addition to the standard fopen() values mode may be 'U' or 'rU'. Python is usually built with universal newlines support; supplying 'U' opens the file as a text file, but lines may be terminated by any of the following: the Unix end-of-line convention '\n', the Macintosh convention '\r', or the Windows convention '\r\n'. All of these external representations are seen as '\n' by the Python program. If Python is built without universal newlines support a mode with 'U' is the same as normal text mode. Note that file objects so opened also have an attribute called newlines which has a value of None (if no newlines have yet been seen), '\n', '\r', '\r\n', or a tuple containing all the newline types seen.


Python enforces that the mode, after stripping 'U', begins with 'r', 'w' or 'a'.


Python provides many file handling modules including fileinput, os, os.path, tempfile, and shutil.


Changed in version 2.5: Restriction on first letter of mode string introduced.






源碼中的描述


This module is not normally accessed explicitly by most applications, but can be useful in modules that provide objects with the same name as a built-in value, but in which the built-in of that name is also needed. For example, in a module that wants to implement an :func:`open` function that wraps the built-in :func:`open`, this module can be used directly:


import __builtin__


def open(path):
    f = __builtin__.open(path, 'r')
    return UpperCaser(f)


class UpperCaser:
    '''Wrapper around a file that converts output to upper-case.'''


    def __init__(self, f):
        self._f = f


    def read(self, count=-1):
        return self._f.read(count).upper()


    # ...
As an implementation detail, most modules have the name __builtins__ (note the 's') made available as part of their globals. The value of __builtins__ is normally either this module or the value of this modules's :attr:`__dict__` attribute. Since this is an implementation detail, it may not be used by alternate implementations of Python.

static PyObject *
builtin_open(PyObject *self, PyObject *args, PyObject *kwds)
{
    return PyObject_Call((PyObject*)&PyFile_Type, args, kwds);
}


PyDoc_STRVAR(open_doc,
"open(name[, mode[, buffering]]) -> file object\n\
\n\
Open a file using the file() type, returns a file object.  This is the\n\
preferred way to open a file.  See file.__doc__ for further information.");

結(jié)論:s3并不支持稀疏文件的儲(chǔ)存,實(shí)際儲(chǔ)存的還是真實(shí)磁盤容量。進(jìn)行put操作的時(shí)候還是調(diào)用os的file.open()

到此,關(guān)于“s3cmd put操作怎么實(shí)現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


文章標(biāo)題:s3cmdput操作怎么實(shí)現(xiàn)
分享地址:http://weahome.cn/article/iejjch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部