小编Rin*_*nks的帖子

用Python格式化一个文件

我想用Python gzip文件.我试图使用subprocss.check_call(),但它一直失败,错误'OSError:[Errno 2]没有这样的文件或目录'.我在这里尝试的是否有问题?有没有比使用subprocess.check_call更好的gzip文件的方法?

from subprocess import check_call

def gZipFile(fullFilePath)
    check_call('gzip ' + fullFilePath)
Run Code Online (Sandbox Code Playgroud)

谢谢!!

python gzip subprocess

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

将isoformat字符串转换为python datetime对象

可能重复:
如何在python中解析ISO格式的日期?

我有一个isoformat datetime作为字符串,如下例所示 -

'2011-05-31T04:35:33.127-05:00'
Run Code Online (Sandbox Code Playgroud)

将它转换为python datetime对象的最佳方法是什么?我遇到了一些帖子,告诉我们如何获得一个isoformat字符串,但不是相反.

谢谢!!

根据严的评论编辑 -

>>>import dateutil.parser
>>> d1='2011-05-31T04:35:33.127-05:00'
>>> d2=dateutil.parser.parse(d1)
>>> d2
datetime.datetime(2011, 5, 31, 4, 35, 33, 127000, tzinfo=tzoffset(None, -18000))
Run Code Online (Sandbox Code Playgroud)

我需要获取原始字符串表示的本地时间的datetime对象.由于我不知道输入日期在哪个时区,我不能使用astimezon方法.最好的方法是什么?谢谢!!

python datetime

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

在python中解析巨大的xml时的lxml内存使用情况

我是一个蟒蛇新手.我试图使用lxml解析我的python模块中的一个巨大的xml文件.尽管在每个循环结束时清除了元素,但我的记忆仍然会崩溃并导致应用程序崩溃.我相信我在这里遗漏了一些东西.请帮助弄清楚那是什么.

以下是我正在使用的主要功能 -

from lxml import etree
def parseXml(context,attribList):
    for _, element in context:
        fieldMap={}
        rowList=[]
        readAttribs(element,fieldMap,attribList)
        readAllChildren(element,fieldMap,attribList)
        for row in rowList:
            yield row
        element.clear()

def readAttribs(element,fieldMap,attribList):
    for atrrib in attribList:
        fieldMap[attrib]=element.get(attrib,'')

def readAllChildren(element,fieldMap,attribList,rowList):
    for childElem in element:
        readAttribs(childEleme,fieldMap,attribList)
        if len(childElem) > 0:
           readAllChildren(childElem,fieldMap,attribList)
        rowlist.append(fieldMap.copy())
        childElem.clear()

def main():
    attribList=['name','age','id']
    context=etree.iterparse(fullFilePath, events=("start",))
    for row in parseXml(context,attribList)
        print row 
Run Code Online (Sandbox Code Playgroud)

谢谢!!

示例xml和嵌套字典 -

<root xmlns='NS'>
        <Employee Name="Mr.ZZ" Age="30">
            <Experience TotalYears="10" StartDate="2000-01-01" EndDate="2010-12-12">
                    <Employment id = "1" EndTime="ABC" StartDate="2000-01-01" EndDate="2002-12-12">
                            <Project Name="ABC_1" Team="4">
                            </Project> …
Run Code Online (Sandbox Code Playgroud)

python lxml

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

使用pyram slow中的paramiko打开远程文件

我正在使用paramiko在python中打开一个远程sftp文件.使用paramiko返回的文件对象,我逐行读取文件并处理信息.与使用来自os的python内置方法'open'相比,这看起来真的很慢.以下是我用来获取文件对象的代码.

使用paramiko(慢2倍) -

client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(myHost,myPort,myUser,myPassword)
sftp = client.open_sftp()
fileObject = sftp.file(fullFilePath,'rb')
Run Code Online (Sandbox Code Playgroud)

使用os -

import os
fileObject = open(fullFilePath,'rb')
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?有没有办法使paramiko fileobject读取方法与使用os fileobject的方法一样快?

谢谢!!

python file

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

在python中用非字符串值替换子字符串

我知道我们有一个替换方法用另一个字符串替换字符串中的子字符串.但我想要的是用一些非字符串(可以是任何数据类型)值替换给定字符串中的一些子字符串.

示例 -

string1='My name is val1. My age is val2 years. I was born on val3'
val1='abc'
val2=40
val3= datetime.date(1980, 1, 1)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

谢谢!!

python string replace

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

标签 统计

python ×5

datetime ×1

file ×1

gzip ×1

lxml ×1

replace ×1

string ×1

subprocess ×1