小编jwi*_*jwi的帖子

Docker exec - 将文本写入容器中的文件

我想在正在运行的docker容器中的文本文件中写入一行文本.这是我到目前为止所尝试的:

docker exec -d app_$i eval echo "server.url=$server_url" >> /home/app/.app/app.config
Run Code Online (Sandbox Code Playgroud)

响应:

/home/user/.app/app.config: No such file or directory
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

cfg_add="echo 'server.url=$server_url' >> /home/user/.app/app.config"
docker exec -i app_$i eval $cfg_add
Run Code Online (Sandbox Code Playgroud)

响应:

exec: "eval": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

bash docker

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

如何在Python中使用psql"\ copy"?

我正在尝试将csv文件导入psql数据库.在阅读了之间的区别之后COPY,\copy我在执行脚本时遇到了这个错误.

这是我的代码切割:

try:

   csv_data = os.path.realpath('test.csv')

   con = psycopg2.connect(database = 'db01', user = 'postgres')
   cur = con.cursor()

   cur.execute("\copy stamm_data from '%s' DELIMITER ';' csv header" % csv_data)

   con.commit()
Run Code Online (Sandbox Code Playgroud)

这是错误:

Error: syntax error at or near "\"
LINE 1: \copy stamm_data from '/home/jw/dev/test.csv' delimiter ';' ...
    ^
Run Code Online (Sandbox Code Playgroud)

使用时COPY我得到:

Error: could not open file "/home/jw/dev/test.csv" for reading: Permission denied
Run Code Online (Sandbox Code Playgroud)

虽然psql用户'postgres'是超级用户,但运行该脚本的ubuntu用户对test.csv文件具有读取权限.

有任何想法吗?

postgresql copy psycopg2 python-2.7 psql

6
推荐指数
1
解决办法
3160
查看次数

python日志文件中的"无"

logging在python中使用该模块.当我在命令行上使用错误的参数调用脚本时,日志文件在某些​​时候包含单词"None",我不知道它来自何处.

这是我的代码切割,我在那里执行logging.exception:

# Show script where to find blank- and viva-data / set argv

vz = glob.glob("/home/jw/cmp_blank_viva/*csv")
skript, s1, m1 = argv

# Define script-functions and logging-config

logging.basicConfig(level=logging.ERROR, filename='cmp_blank_viva.log', format='%(asctime)s:%(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')

def open_data(vz, s1, m1):

    try:

        checker = []

        for i in vz:
            if "drhot_viva_check_%s" % m1 in i:
                blank_data = csv.reader(open(i, 'r'))
                checker.append(1)
            else:
                pass

        if 1 not in checker:
            logging.exception("Could not open viva file with %s %s.\n" % (s1, m1))

        checker = []

        for …
Run Code Online (Sandbox Code Playgroud)

python logging python-2.7

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

Docker --env-file - $ PATH中找不到可执行文件

我想用带有--env-file选项的环境变量来运行我的docker容器,就像docker doc:docker run命令中提到的那样

我尝试使用以下内容创建env.list在我的主目录中命名的文件/home/jw/data:

SSL_CERTIFICATE_PATH=/opt/onlyoffice/Data/certs/onlyoffice.crt
SSL_KEY_PATH=/opt/onlyoffice/Data/certs/onlyoffice.key
SSL_DHPARAM_PATH=/opt/onlyoffice/Data/certs/dhparam.pem
Run Code Online (Sandbox Code Playgroud)

之后我将目录添加/home/jw/data/到我的$PATH环境变量中:

PATH=$PATH:/home/jw/data/; export PATH
Run Code Online (Sandbox Code Playgroud)

在同一个shell上,我启动了这样的docker容器:

sudo docker run -i -t -d --name onlyoffice-document-server onlyoffice/documentserver --env-file /home/jw/data/env.list debian env
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Error response from daemon: Cannot start container 45ff897e0cfdc676f4f0bac98e027e2c567558a173a7f80c02ba6dc86482a176: [8] System error: exec: "--env-file": executable file not found in $PAT
Run Code Online (Sandbox Code Playgroud)

我也尝试设置$PATHunder root并执行上面提到的run命令,并显示相同的错误消息.

我错过了什么?

debian environment-variables docker

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

通过 MIMEBase 将 csv 文件作为附件发送 - python

我不明白。我尝试发送带有 csv 文件作为附件的电子邮件。第一次运行脚本很好,我收到了带有 csv 文件作为附件的电子邮件。但是在运行一次后,脚本崩溃并显示一条奇怪的 Traceback 消息。

到目前为止,这是我的代码:

import smtplib
import email.utils
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import Encoders

msg = MIMEMultipart('foo')
msg['To'] = email.utils.formataddr(('foo', 'foo@foobar.de'))
msg['From'] = email.utils.formataddr(('foo', 'foo@foo'))
msg['Subject'] = 'foo'

# Attach a file

mail_file = file('foo.csv').read()

mail_file = MIMEBase('application', 'csv')
mail_file.set_payload(mail_file)
mail_file.add_header('Content-Disposition', 'attachment', filename='foo.csv')
Encoders.encode_base64(mail_file)
msg.attach(mail_file)

# Define SMTP server

server = smtplib.SMTP('localhost')
server.set_debuglevel(True) # show communication with the server

# Send the mail

try:
    server.sendmail('foo@foo', ['foo@foobar.de'], …
Run Code Online (Sandbox Code Playgroud)

csv email attachment python-2.7 mime-types

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

从CSV到列表的字符串 - Python

我不明白.我有一个包含以下内容的CSV数据:

wurst;ball;hoden;sack
1;2;3;4
4;3;2;1
Run Code Online (Sandbox Code Playgroud)

我想迭代CSV数据并将头放在一个列表中,将内容放在另一个列表中.到目前为止,我的代码是:

data = [ i.strip() for i in open('test.csv', 'r').readlines() ]

for i_c, i in enumerate(data):
    if i_c == 0:
            heads = i
    else:
            content = i

heads.split(";")
content.split(";")
print heads
Run Code Online (Sandbox Code Playgroud)

这总是返回以下字符串,而不是有效列表.

wurst;ball;hoden;sack
Run Code Online (Sandbox Code Playgroud)

为什么拆分不能在这个字符串上工作?

问候和圣诞快乐,1月

csv list python-2.7

-1
推荐指数
1
解决办法
58
查看次数