小编myt*_*889的帖子

使用通配符从子进程调用rm不会删除文件

我正在尝试构建一个函数,它将从项目的根目录中删除所有以'prepend'开头的文件.这是我到目前为止所拥有的

def cleanup(prepend):
    prepend = str(prepend)
    PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
    end = "%s*" % prepend
    cmd = 'rm'
    args = "%s/%s" % (PROJECT_ROOT, end)
    print "full cmd = %s %s" %(cmd, args)
    try:
        p = Popen([cmd, args],  stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True).communicate()[0]
        print "p", p
    except Exception as e:
        print str(e)
Run Code Online (Sandbox Code Playgroud)

我没有运气 - 它似乎没有做任何事情.你有什么想法我可能做错了吗?谢谢!

python django shell rm

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

将bash输出重定向到动态文件名

我正在编写一个bash脚本,它将(希望)重定向到一个文件,该文件的名称是动态生成的,基于给脚本的第一个参数,前面加上一些字符串.脚本的名称是./buildcsvs.

这是代码现在的样子,没有动态文件名

#!/bin/bash
mdb-export 2011ROXBURY.mdb TEAM > team.csv
Run Code Online (Sandbox Code Playgroud)

这就是我想要它出来的方式

./buildcsvs roxbury
Run Code Online (Sandbox Code Playgroud)

应该输出

roxburyteam.csv
Run Code Online (Sandbox Code Playgroud)

使用"$ 1"作为脚本的第一个arg,其中文件名由类似的东西定义

"%steam" % $1
Run Code Online (Sandbox Code Playgroud)

你有什么想法?谢谢

bash filenames dynamic

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

在Ubuntu上使用Access数据库(.mdb)和Python

我正在尝试使用pyodbc访问Ubuntu上的.mdb.到目前为止,我的进展基于此链接

查询崩溃MS Access

我安装了pyodbc,unixodbc和unixodbc-dev

我的代码看起来像这样:

import csv
import pyodbc

MDB = 'URY.mdb'
DRV ='Microsoft Access Driver (*.mdb)'
PWD = 'pass'

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
curs = conn.cursor()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到此错误消息:

Traceback (most recent call last):
  File "mdbscraper.py", line 8, in <module>
    conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found,         and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?任何帮助将非常感谢

谢谢!

python ubuntu ms-access pyodbc

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

模板中的Django settings.py变量

我遇到了一个非常奇怪的错误.我在我的settings.py文件中定义了一个应用ID,如下所示:

CARDSPRING_APP_ID = '################'
Run Code Online (Sandbox Code Playgroud)

这几乎适用于我的网站中的每个页面,除了一个.奇怪的是,其他变量也起作用.在页面的脚本部分,我有以下内容:

alert("cs appid=" + {{ CARDSPRING_APP_ID }} + 
" sectoken=" + {{ securityToken }} + 
" timestamp= " +{{ timestamp }} + 
" hash = " + {{ digestedHash }} + 
" ccnum " + $('.card-number').val() + 
" exp" + $('.expiration-month').val() + $('.expiration-year').val() + 
" user = " + {{ csid }});
Run Code Online (Sandbox Code Playgroud)

呈现页面时,它将评估为此

alert("cs appid=" +  + 
" sectoken=" + DDFJRMZXD12WVWHFFC###### + 
" timestamp= " +1346183125 + 
" hash = " + a929b3aec9179c700c09d###### + …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-settings

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

Python:将 utf-8 字符串转换为字节字符串

我有以下函数可以从字节序列中解析 utf-8 字符串

注意 -- 'length_size' 是表示 utf-8 字符串长度所需的字节数

def parse_utf8(self, bytes, length_size):

    length = bytes2int(bytes[0:length_size])
    value = ''.join(['%c' % b for b in bytes[length_size:length_size+length]])
    return value


def bytes2int(raw_bytes, signed=False):
    """
    Convert a string of bytes to an integer (assumes little-endian byte order)
    """
    if len(raw_bytes) == 0:
        return None
    fmt = {1:'B', 2:'H', 4:'I', 8:'Q'}[len(raw_bytes)]
    if signed:
        fmt = fmt.lower()
    return struct.unpack('<'+fmt, raw_bytes)[0]
Run Code Online (Sandbox Code Playgroud)

我想反过来写这个函数——即一个函数,它将接受一个 utf-8 编码的字符串,并将它的表示作为一个字节字符串返回。

到目前为止,我有以下几点:

def create_utf8(self, utf8_string):
    return utf8_string.encode('utf-8')
Run Code Online (Sandbox Code Playgroud)

我在尝试测试时遇到以下错误:

  File "writer.py", line 229, in create_utf8 …
Run Code Online (Sandbox Code Playgroud)

python string encoding utf-8

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

python/django fork之后的SSL错误

我有一个python django应用程序,其中一部分是解析一个大文件.这需要永远,所以我放入一个分叉来处理处理,允许用户继续浏览网站.在fork代码中,有一堆调用我们的postgres数据库,托管在亚马逊上.

我收到以下错误:

SSL error: decryption failed or bad record mac
Run Code Online (Sandbox Code Playgroud)

这是代码:

pid = os.fork()
if pid == 0:
    lengthy_code_here(long)
    database_queries(my_database)
    os._exit(0)
Run Code Online (Sandbox Code Playgroud)

我的数据库调用都没有工作,虽然它们在插入fork之前工作得很好.看了一下后,似乎它可能是一个陈旧的数据库连接,但我不知道如何解决它.有没有人有任何想法?

python database django postgresql fork

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

for循环后的Python语法错误(在解释器中)

我正在从控制台运行一些python代码(粘贴),并获得意外的结果.这是代码的样子:

parentfound = False
structfound = False
instruct = False
wordlist = []
fileHandle = open('cont.h')
for line in fileHandle:
    if line is "":
        print "skipping blank line"
        continue
    if "}" in line:
        instruct = False
        index = line.index("}")
        wordlist.append(word)
    pass          
try:
    print wordlist
except Exception as e:
    print str(e)
Run Code Online (Sandbox Code Playgroud)

在for循环之后,我想打印出来wordlist.无论我做什么,我都不能在for循环之外包含任何东西.这是我收到的错误:

...     if "}" in line:
...         instruct = False
...         index = line.index("}")
...         wordlist.append(word)
...     pass          
... try:
  File "<stdin>", line 10
    try:
      ^
SyntaxError: invalid …
Run Code Online (Sandbox Code Playgroud)

python syntax file syntax-error

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