我想用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中解析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方法.最好的方法是什么?谢谢!!
我是一个蟒蛇新手.我试图使用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) 我正在使用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的方法一样快?
谢谢!!
我知道我们有一个替换方法用另一个字符串替换字符串中的子字符串.但我想要的是用一些非字符串(可以是任何数据类型)值替换给定字符串中的一些子字符串.
示例 -
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)
有任何想法吗??
谢谢!!