小编use*_*829的帖子

Bash脚本,循环文件夹中的文件失败

我正在使用此bash脚本代码在一个文件夹中循环浏览某些文件(所有以MOVIE开头的文件):

for i in MY-FOLDER/MOVIE*
do
Run Code Online (Sandbox Code Playgroud)

当文件夹中有文件时,它可以正常工作.但是当没有任何内容时,它会以某种方式继续使用它认为名为MY-FOLDER/MOVIE*的文件.

我怎么能避免它进入之后的事情

do
Run Code Online (Sandbox Code Playgroud)

如果文件夹中没有任何文件?

bash

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

更改html5视频元素的背景颜色

我有以下网站:beta.leifsigersen.com

首页上有一部电影,有时需要一段时间才能加载(有时不到一秒钟,有时几秒钟).在加载电影之前,有黑色背景/边框.我怎样才能改变这个颜色?

我试过使用视频元素的CSS,但没有任何运气.

html css html5 html5-video

11
推荐指数
2
解决办法
4万
查看次数

Plesk,SMTP和从同一域发送电子邮件

我有一台安装了Plesk的服务器.我已经创建了一个域名my-domain.com,并添加了电子邮件帐户noreply@my-domain.com,可以访问SMTP以发送电子邮件.

使用PHPMailer或Swift Mailer,只要from地址在my-domain.com之外,我就可以通过SMTP帐户发送noreply@my-domain.com,例如info@my-second-domain.com.每当我使用以@ my-domain.com结尾的电子邮件地址时,它都会失败.

我试图查看/ usr/local/psa/var/log/maillog文件,但它只存储没有失败的邮件.

有人可以帮我找出问题所在吗?

smtp plesk

10
推荐指数
2
解决办法
2万
查看次数

为什么chardet说我的UTF-8编码字符串(最初从ISO-8859-1解码)是ASCII?

我正在尝试将ascii字符转换为utf-8.下面这个小例子仍然返回ascii字符:

chunk = chunk.decode('ISO-8859-1').encode('UTF-8')
print chardet.detect(chunk[0:2000])
Run Code Online (Sandbox Code Playgroud)

它返回:

{'confidence': 1.0, 'encoding': 'ascii'}
Run Code Online (Sandbox Code Playgroud)

怎么会?

python encoding ascii utf-8 decoding

7
推荐指数
1
解决办法
3080
查看次数

Overpass API调度程序失败,Address已在使用98

我已按照安装说明进行操作:http: //wiki.openstreetmap.org/wiki/Overpass_API/install

最初一切都运作完美,但我想尝试使用我自己的自定义地图,但是当我杀死调度程序时,没有任何作用.这是原始数据库而不是我的自定义地图.

我试图清理所有东西并从头开始安装,这也完美无缺,但是对调度员的简单杀戮使得一切都从那里崩溃.

当我尝试启动调度程序时,我当前收到错误消息:File_Error地址已在使用98 /srv/osm3s/db_dir//osm3s_v0.7.3_osm_base Dispatcher_Server :: 4

查看netstat,没有使用端口98的进程.重新启动整个服务器并不能使它工作./ dev/shm中没有锁文件.

该怎么办?每次我杀死调度员时,我都不希望清理和安装所有东西.

ubuntu openstreetmap ubuntu-12.04 overpass-api

4
推荐指数
1
解决办法
894
查看次数

循环遍历文件行,如果文件不存在则禁止错误

我在shell Perl脚本中有以下内容:

my @LS  = `ls -1t /logs/log.csv.*`;
foreach my $line (@LS) {
Run Code Online (Sandbox Code Playgroud)

如果实际存在一个或多个log.csv.*文件,则此方法可以正常工作.

但如果没有日志文件存在,我会收到错误:ls:无法访问...

我可以以某种方式抑制此警告,因为shell脚本是一个cron脚本,如果没有文件就可以了吗?

shell perl

3
推荐指数
3
解决办法
859
查看次数

在Python中从gzip'ed CSV中删除BOM

我正在使用以下代码解压缩并保存CSV文件:

with gzip.open(filename_gz) as f:
    file = open(filename, "w");
    output = csv.writer(file, delimiter = ',')
    output.writerows(csv.reader(f, dialect='excel', delimiter = ';'))
Run Code Online (Sandbox Code Playgroud)

一切似乎都有效,除了文件中的第一个字符是意外的.谷歌搜索似乎表明它是由于文件中的BOM.

我已经读过在utf-8-sig中编码内容应该可以解决这个问题.但是,添加:

.read().encoding('utf-8-sig')
Run Code Online (Sandbox Code Playgroud)

到csv.reader中的f失败:

File "ckan_gz_datastore.py", line 16, in <module>
    output.writerows(csv.reader(f.read().encode('utf-8-sig'), dialect='excel', delimiter = ';'))
File "/usr/lib/python2.7/encodings/utf_8_sig.py", line 15, in encode
    return (codecs.BOM_UTF8 + codecs.utf_8_encode(input, errors)[0], len(input))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

如何删除BOM并将内容保存为正确的utf-8?

python csv byte-order-mark

3
推荐指数
1
解决办法
2282
查看次数

检查元素是否为列表或其他对象

我有一个包含名为"companies"的元素的对象.此元素可以是对象列表,也可以只是单个对象(不包含在列表中).

我想要浏览所有公司,但如果元素"公司"只是一个项目(不包含在列表中),则此示例将失败:

for company in companies:
Run Code Online (Sandbox Code Playgroud)

我试过在for循环之前测试,例如:

if type(companies['company']) is list:
    # do your thing
Run Code Online (Sandbox Code Playgroud)

但那也失败了.

有人可以帮忙吗?

python

3
推荐指数
1
解决办法
6220
查看次数

即使包含库等,也未定义对 PQfinish 的引用

我正在尝试使用 libpq 编译 C++ 应用程序。在我的 Debian 上,使用以下命令可以正常编译:

g++ -I /usr/include/postgresql/ -L /usr/lib/postgresql/9.3/lib/ -lpq -o test test.cpp
Run Code Online (Sandbox Code Playgroud)

在我的 Ubuntu 上,我收到以下错误:

undefined reference to 'PQfinish'
Run Code Online (Sandbox Code Playgroud)

我已经包含了 postgresql 标头和库的链接并使用了 -lpq。我缺少什么?

c++ postgresql g++ libpq

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