小编mar*_*eau的帖子

如何修改文本文件?

我正在使用Python,并希望在不删除或复制文件的情况下将字符串插入文本文件中.我怎样才能做到这一点?

python text file

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

如何在python中显示百分比

这是我的代码:

print str(float(1/3))+'%'
Run Code Online (Sandbox Code Playgroud)

它显示:

0.0%
Run Code Online (Sandbox Code Playgroud)

但我想得到 33%

我能做什么.

python python-2.x

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

当模块名称中包含" - "破折号或连字符时,如何导入模块?

我想导入foo-bar.py.这有效:

foobar = __import__("foo-bar")
Run Code Online (Sandbox Code Playgroud)

这不是:

from "foo-bar" import *
Run Code Online (Sandbox Code Playgroud)

我的问题:有什么方法可以使用上面的格式,即from "foo-bar" import *导入一个包含其中的模块-

python import module hyphen

160
推荐指数
5
解决办法
7万
查看次数

将类实例序列化为JSON

我正在尝试创建类实例的JSON字符串表示并且有困难.假设这个类是这样构建的:

class testclass:
    value1 = "a"
    value2 = "b"
Run Code Online (Sandbox Code Playgroud)

对json.dumps的调用是这样的:

t = testclass()
json.dumps(t)
Run Code Online (Sandbox Code Playgroud)

它失败并且告诉我测试类不是JSON可序列化的.

TypeError: <__main__.testclass object at 0x000000000227A400> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用pickle模块:

t = testclass()
print(pickle.dumps(t, pickle.HIGHEST_PROTOCOL))
Run Code Online (Sandbox Code Playgroud)

它提供类实例信息,但不提供类实例的序列化内容.

b'\x80\x03c__main__\ntestclass\nq\x00)\x81q\x01}q\x02b.'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python serialization json pickle

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

使用Python替换多个字符

我需要更换一些字符如下:&- > \&,#- > \#,...

我编码如下,但我想应该有更好的方法.任何提示?

strs = strs.replace('&', '\&')
strs = strs.replace('#', '\#')
...
Run Code Online (Sandbox Code Playgroud)

python string replace

158
推荐指数
8
解决办法
31万
查看次数

如何在Windows上运行多个Python版本

我的机器上安装了两个版本的Python(版本2.6和2.5).我想为一个项目运行2.6,为另一个项目运行2.5.

如何指定要使用的内容?

我正在使用Windows XP SP2.

python windows compatibility python-2.x python-3.x

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

动态导入模块中类的字符串名称的Python动态实例化

在python中,我必须实例化某个类,知道它在字符串中的名称,但这个类"存在"一个动态导入的模块中.一个例子如下:

loader类脚本:

import sys
class loader:
  def __init__(self, module_name, class_name): # both args are strings
    try:
      __import__(module_name)
      modul = sys.modules[module_name]
      instance = modul.class_name() # obviously this doesn't works, here is my main problem!
    except ImportError:
       # manage import error
Run Code Online (Sandbox Code Playgroud)

一些动态加载的模块脚本:

class myName:
  # etc...
Run Code Online (Sandbox Code Playgroud)

我使用这种安排来使任何动态加载的模块在dyn-loaded-modules中遵循某些预定义的行为,由loader-class使用...

任何想法都表示赞赏.

python

157
推荐指数
7
解决办法
12万
查看次数

APT命令行界面 - 是/否输入?

是否有任何简短的方法来实现APT(高级软件包工具)命令行界面在Python中的作用?

我的意思是,当包管理器提示后面是/否问题时[Yes/no],脚本接受YES/Y/yes/yEnter(默认Yes为大写字母暗示).

我在官方文档找到的唯一的事情就是inputraw_input...

我知道这并不难以模仿,但重写是很烦人的:|

python

155
推荐指数
11
解决办法
17万
查看次数

functools如何在Python中部分工作?

我无法理解functools中的部分工作原理.我从这里得到以下代码:

>>> sum = lambda x, y : x + y
>>> sum(1, 2)
3
>>> incr = lambda y : sum(1, y)
>>> incr(2)
3
>>> def sum2(x, y):
    return x + y

>>> incr2 = functools.partial(sum2, 1)
>>> incr2(4)
5
Run Code Online (Sandbox Code Playgroud)

现在就行了

incr = lambda y : sum(1, y)
Run Code Online (Sandbox Code Playgroud)

我得到的是,无论我传递给incr它的任何论点都将被传递ylambda哪个将返回sum(1, y)ie 1 + y.

我明白那个.但我不明白这一点incr2(4).

如何在部分函数中4传递x?对我来说,4应该更换sum2.x和之间有什么关系 …

python functional-programming partial-application functools

154
推荐指数
5
解决办法
9万
查看次数

使用csv模块从csv文件中读取特定列?

我正在尝试解析csv文件并仅从特定列中提取数据.

示例csv:

ID | Name | Address | City | State | Zip | Phone | OPEID | IPEDS |
10 | C... | 130 W.. | Mo.. | AL... | 3.. | 334.. | 01023 | 10063 |
Run Code Online (Sandbox Code Playgroud)

我想只捕获特定的列,也就是说ID,Name,ZipPhone.

我看过的代码让我相信我可以通过相应的数字调用特定的列,因此即:Name将对应2并使用迭代遍历每一行将row[2]生成第2列中的所有项目.只有它不会.

这是我到目前为止所做的:

import sys, argparse, csv
from settings import *

# command arguments
parser = argparse.ArgumentParser(description='csv to postgres',\
 fromfile_prefix_chars="@" )
parser.add_argument('file', help='csv file to import', action='store') …
Run Code Online (Sandbox Code Playgroud)

python csv

154
推荐指数
7
解决办法
49万
查看次数