我正在使用以下代码将$('.dropdown-menu a').on('click', function(e){
e.preventDefault();
$('button.dropdown-toggle').html($(this).text() + ' <span class="caret"></span>');
$(".box").hide();
$('.'+$(this).attr('id')).show();
});
文件复制到本地:
pdf
哪个基于this问题(种类)
但是当我执行该代码时,我得到以下内容:
with self.input_target().open('r') as r:
with self.output_target().open('w') as w:
for line in r:
w.write(line)
我尝试了另一种方法,没有取得好成绩:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 11:
invalid continuation byte
这样做的正确方法是什么?
答案 0 :(得分:0)
您似乎正在处理二进制文件,就好像它是文本一样 - 但事实并非如此。你可能需要这样做:
with self.input().open('r') as i, self.output().open('w') as o:
o.write(i.read())
(未经测试!)
此外,我认为您可能会发现此答案很有用:Python writing binary files, bytes
答案 1 :(得分:0)
我使用None
和方法luigi.s3.S3Client
结束,该方法将二进制文件从/ {复制到get
。
代码片段:
import luigi
s3
我认为其根本原因是class ATask(luigi.Task):
s3_path = luigi.Parameter()
local_path = luigi.Parameter()
...
def run(self):
client = luigi.s3.S3Client()
client.get(s3_path, local_path) ## This gets the file
...
使用luigi
从/ boto
获取/放置文件。 (正如您在源代码中看到的那样)
答案 2 :(得分:0)
另一种选择是使用Target的格式kwarg luigi.format.Nop表示它是一个正在读取的二进制文件。
例如
def output(self):
return LocalTarget(target, format=luigi.format.Nop)