Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。


7
Python列表目录,子目录和文件
我试图制作一个脚本来列出给定目录中的所有目录,子目录和文件。 我尝试了这个: import sys,os root = "/home/patate/directory/" path = os.path.join(root, "targetdirectory") for r,d,f in os.walk(path): for file in f: print os.path.join(root,file) 不幸的是,它无法正常工作。 我得到所有文件,但没有完整的路径。 例如,如果dir结构为: /home/patate/directory/targetdirectory/123/456/789/file.txt 它会打印: /home/patate/directory/targetdirectory/file.txt 我需要的是第一个结果。任何帮助将不胜感激!谢谢。
130 python  file  path 

8
提取正则表达式匹配项的一部分
我想要一个正则表达式从HTML页面提取标题。目前我有这个: title = re.search('<title>.*</title>', html, re.IGNORECASE).group() if title: title = title.replace('<title>', '').replace('</title>', '') 是否有一个正则表达式仅提取<title>的内容,所以我不必删除标签?

9
Python的json模块,将int字典键转换为字符串
我发现运行以下命令时,python的json模块(自2.6起包含)将int字典键转换为字符串。 >>> import json >>> releases = {1: "foo-v0.1"} >>> json.dumps(releases) '{"1": "foo-v0.1"}' 有什么简单的方法可以将键保留为int,而无需在转储和加载时解析字符串。我相信可以使用json模块提供的钩子,但这仍然需要解析。我可能会忽略一个论点吗?欢呼声,查兹 子问题:感谢您的回答。看到j​​son像我所担心的那样工作,是否有一种简单的方法可以通过解析转储的输出来传达密钥类型?我还要注意执行转储的代码以及从服务器下载json对象并加载它的代码均由我编写。
130 python  json 


10
使用SQLAlchemy ORM批量插入
有什么方法可以让SQLAlchemy进行批量插入,而不是插入每个对象。即 在做: INSERT INTO `foo` (`bar`) VALUES (1), (2), (3) 而不是: INSERT INTO `foo` (`bar`) VALUES (1) INSERT INTO `foo` (`bar`) VALUES (2) INSERT INTO `foo` (`bar`) VALUES (3) 我刚刚将一些代码转换为使用sqlalchemy而不是原始sql,尽管现在使用它起来要好得多,但现在似乎要慢一些(最多10倍),我想知道这是否是原因。 也许我可以更有效地使用会话来改善这种情况。目前,我已经添加了一些东西,autoCommit=False并做了一个session.commit()。尽管如果在其他地方更改了数据库,这似乎会使数据过时,例如,即使我执行新查询,我仍然可以返回旧结果? 谢谢你的帮助!

6
如何检查python pandas中列的dtype
我需要使用不同的函数来处理数字列和字符串列。我现在正在做的事情真是愚蠢: allc = list((agg.loc[:, (agg.dtypes==np.float64)|(agg.dtypes==np.int)]).columns) for y in allc: treat_numeric(agg[y]) allc = list((agg.loc[:, (agg.dtypes!=np.float64)&(agg.dtypes!=np.int)]).columns) for y in allc: treat_str(agg[y]) 有没有更优雅的方法可以做到这一点?例如 for y in agg.columns: if(dtype(agg[y]) == 'string'): treat_str(agg[y]) elif(dtype(agg[y]) != 'string'): treat_numeric(agg[y])
130 python  pandas 

7
'str'对象不支持Python中的项目分配
我想从字符串中读取一些字符,然后将其放入其他字符串中(就像我们在C语言中一样)。 所以我的代码如下 import string import re str = "Hello World" j = 0 srr = "" for i in str: srr[j] = i #'str' object does not support item assignment j = j + 1 print (srr) 在C中,代码可能是 i = j = 0; while(str[i] != '\0') { srr[j++] = str …
130 python  string 


4
“ x <y <z”比“ x <y和y <z”快吗?
从此页面,我们知道: 链式比较比使用and运算符要快。写x &lt; y &lt; z而不是x &lt; y and y &lt; z。 但是,测试以下代码片段时,我得到了不同的结果: $ python -m timeit "x = 1.2" "y = 1.3" "z = 1.8" "x &lt; y &lt; z" 1000000 loops, best of 3: 0.322 usec per loop $ python -m timeit "x = 1.2" "y = 1.3" …


2
使用argparse获取选定的子命令
当我将子命令与python argparse一起使用时,可以获取所选的参数。 parser = argparse.ArgumentParser() parser.add_argument('-g', '--global') subparsers = parser.add_subparsers() foo_parser = subparsers.add_parser('foo') foo_parser.add_argument('-c', '--count') bar_parser = subparsers.add_parser('bar') args = parser.parse_args(['-g, 'xyz', 'foo', '--count', '42']) # args =&gt; Namespace(global='xyz', count='42') 因此args不包含'foo'。sys.argv[1]由于可能存在全局arg,因此简单地编写不起作用。如何获得子命令本身?

5
在python中继承和覆盖__init__
我正在阅读“深入Python”,并在有关类的章节中给出了以下示例: class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename 然后,作者说,如果要覆盖该__init__方法,则必须__init__使用正确的参数显式调用父方法。 如果该FileInfo班有一个以上的祖先班怎么办? 我是否必须显式调用所有祖先类的__init__方法? 另外,我是否必须对要覆盖的其他任何方法执行此操作?

10
您如何在python中检查字符串是否仅包含数字?
如何检查字符串是否仅包含数字? 我已经去了这里。我想看看实现此目的的最简单方法。 import string def main(): isbn = input("Enter your 10 digit ISBN number: ") if len(isbn) == 10 and string.digits == True: print ("Works") else: print("Error, 10 digit number was not inputted and/or letters were inputted.") main() if __name__ == "__main__": main() input("Press enter to exit: ")
129 python  string  numbers 

29
如何合并字典的字典?
我需要合并多个词典,例如: dict1 = {1:{"a":{A}}, 2:{"b":{B}}} dict2 = {2:{"c":{C}}, 3:{"d":{D}} 随着A B C和D作为树的叶子像{"info1":"value", "info2":"value2"} 词典的级别(深度)未知,可能是 {2:{"c":{"z":{"y":{C}}}}} 在我的情况下,它表示目录/文件结构,其中节点为docs,而节点为文件。 我想将它们合并以获得: dict3 = {1:{"a":{A}}, 2:{"b":{B},"c":{C}}, 3:{"d":{D}}} 我不确定如何使用Python轻松做到这一点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.