小编wov*_*ano的帖子

如何在Python中小写一个字符串?

有没有办法将字符串从大写,甚至部分大写转换为小写?

例如公里 - >公里.

python string lowercase uppercase

1908
推荐指数
5
解决办法
227万
查看次数

dict.items()和dict.iteritems()有什么区别?

dict.items()和之间是否有任何适用的差异dict.iteritems()

从Python文档:

dict.items():返回字典的(键,值)对列表的副本.

dict.iteritems():在字典(键,值)对上返回一个迭代器.

如果我运行下面的代码,每个似乎都返回对同一对象的引用.我缺少哪些微妙的差异?

#!/usr/bin/python

d={1:'one',2:'two',3:'three'}
print 'd.items():'
for k,v in d.items():
   if d[k] is v: print '\tthey are the same object' 
   else: print '\tthey are different'

print 'd.iteritems():'   
for k,v in d.iteritems():
   if d[k] is v: print '\tthey are the same object' 
   else: print '\tthey are different'   
Run Code Online (Sandbox Code Playgroud)

输出:

d.items():
    they are the same object
    they are the same object
    they are the same object
d.iteritems():
    they are the same …
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.x

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

使用Python中的pathlib复制文件

我尝试复制一个文件 pathlib

import pathlib
import shutil

my_file=pathlib.Path('/etc/hosts')
to_file=pathlib.Path('/tmp/foo')
shutil.copy(my_file, to_file)
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

/home/foo_egs_d/bin/python /home/foo_egs_d/src/test-pathlib-copy.py
Traceback (most recent call last):
  File "/home/foo_egs_d/src/test-pathlib-copy.py", line 6, in <module>
    shutil.copy(my_file, to_file)
  File "/usr/lib/python2.7/shutil.py", line 117, in copy
    if os.path.isdir(dst):
  File "/home/foo_egs_d/lib/python2.7/genericpath.py", line 41, in isdir
    st = os.stat(s)
TypeError: coercing to Unicode: need string or buffer, PosixPath found

Process finished with exit code
Run Code Online (Sandbox Code Playgroud)

...如何在Python 2.7中使用pathlib复制文件?

python copy file python-2.x pathlib

43
推荐指数
5
解决办法
2万
查看次数

导入 psycopg3 时出现导入错误“没有可用的 pq 包装器”

pip install psycopg[binary]我按照文档在 venv 上安装了 pyscopg3 ,但仍然收到导入错误:

Exception has occurred: ImportError
no pq wrapper available.
Attempts made:
- couldn't import psycopg 'c' implementation: No module named 'psycopg_c'
- couldn't import psycopg 'binary' implementation: DLL load failed while importing pq: The specified module could not be found.
- couldn't import psycopg 'python' implementation: libpq library not found
Run Code Online (Sandbox Code Playgroud)

我正在运行 Windows 10 机器。我该如何解决这个错误?

python psycopg3

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

无法为分词器构建轮子,这是安装基于 pyproject.toml 的项目所必需的

我正在尝试在 Windows 上安装 ernie 和 tokenizer,但是对于这两种情况,它都显示以下错误:

ERROR: Command errored out with exit status 1:
   command: 'c:\users\my pc\appdata\local\programs\python\python39\python.exe' 'c:\users\my pc\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\MYPC~1\AppData\Local\Temp\tmpyfqm86h3'
       cwd: C:\Users\my pc\AppData\Local\Temp\pip-install-504a8mvv\tokenizers_a45d458877334719a3bf67c944dce6d7
  Complete output (38 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib
  creating build\lib\tokenizers
  copying tokenizers\__init__.py -> build\lib\tokenizers
  running build_ext
  running build_rust
      Updating crates.io index
  cargo rustc --lib --manifest-path Cargo.toml --features pyo3/extension-module --target x86_64-pc-windows-msvc --release --verbose -- --crate-type cdylib
  warning: unused manifest key: target.x86_64-apple-darwin.rustflags
     Compiling proc-macro2 v1.0.30
     Compiling unicode-xid v0.2.2
     Compiling syn v1.0.80
     Compiling …
Run Code Online (Sandbox Code Playgroud)

python pip python-wheel

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

如何停止 VS Code 继续将标准 C++ 库添加到 file.associations 中?

每次我在 VS Code 项目中提交更改时,VS Code 都会自动将许多标准 C++ 库添加files.associationsworkspace.code-workspace.

例子:

git 显示的示例更改

我认为我不能简单地将整个文件添加到.gitignore,因为我希望公司中的任何人都可以克隆存储库并从该文件打开工作区。有没有办法防止file.associations每次更改而不丢失任何功能?

c++ visual-studio-code

13
推荐指数
2
解决办法
3154
查看次数

参数 newline='' 在 open 函数中起什么作用?

我正在 Codecademy 学习 Python,他们正在讨论如何使用该open()函数处理 CSV 文件。我无法真正理解该参数newline=''对代码意味着什么。

import csv

with open('addresses.csv', newline='') as addresses_csv:
  address_reader = csv.DictReader(addresses_csv, delimiter=';')
  for row in address_reader:
    print(row['Address'])
Run Code Online (Sandbox Code Playgroud)

python

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

字段级权限Django

今天我想出了一个要求,我需要实现字段级权限,以寻找最佳方式.

class ABC(models.Model):
    field1 = .....
    field2 = .....
    field3 = .....
Run Code Online (Sandbox Code Playgroud)

创建两个组(A和B)并分配权限,两者都可以添加/编辑/删除,另一个只能添加/编辑.但现在需要一些帮助: -

我想如果第一个组用户登录管理员他应该能够看到所有三个字段,但如果第二个组用户登录他们应该只看到field1.

我想在django admin中这个,因为我需要在这些之后执行一些操作.我的django版本是1.3

提前致谢

python django django-permissions

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

MatplotlibDeprecationWarning:支持没有 required_interactive_framework 属性的FigureCanvas

我正在尝试使用 matplotlib 和 numpy 来绘制图表,但不断遇到此错误:

MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
plt.plot(cache_sizes, hit_rates[i])
Run Code Online (Sandbox Code Playgroud)

知道如何解决吗?

这是代码:

#!/usr/bin/env python3
import os
import subprocess

import matplotlib.pyplot as plt
import numpy as np

# cache_sizes = np.arange(0, 120, 20)
cache_sizes = np.arange(1, 5)
policies = ["FIFO", "LRU", "OPT", "UNOPT", "RAND", "CLOCK"]
# these were acheived after running `run.sh`
hit_rates = [
    # FIFO
    [45.03, 83.08, 93.53, 97.42],
    # LRU …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

pythonlogging.FileHandler默认使用块缓冲吗?

处理程序logging类有一个flush() 方法。

而且看代码logging.FileHandler调用时并没有传递具体的缓冲模式open()。因此,当您写入日志文件时,将使用默认块大小对其进行缓冲。

那是对的吗?


这让我感到惊讶,因为当我管理自己的系统时,我习惯于将日志文件作为系统上的实时(或接近实时)视图来观看。对于此用例,需要行缓冲。此外,传统的 syslog() 日志守护进程不会缓冲消息。


我对 Python 2.7 和 3.7 版本感兴趣。

python logging output-buffering

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