小编Ev.*_*nis的帖子

如何将datetime转换为日期(在Python中)?

如何转换一个datetime.datetime对象(例如,返回值datetime.datetime.now())datetime.datePython中的对象?

python datetime

572
推荐指数
7
解决办法
45万
查看次数

GIT合并错误"由于您有未合并的文件,因此无法提交"

所以我在编辑它之前忘了拉我的代码然后当我提交新代码并尝试推送时,我得到错误推送是不可能的,那时我做了一个"git pull",这使得一些文件突出显示冲突.我删除了冲突,但我不知道该怎么做...

git commit再次尝试,但它说"提交是不可能的,因为你有未合并的文件"

git git-merge

148
推荐指数
5
解决办法
19万
查看次数

禁止打印调用(python)

有没有办法阻止函数调用print


我正在使用该pygame.joystick模块进行我正在进行的游戏.

我创建了一个pygame.joystick.Joystick对象,并在游戏的实际循环中调用其成员函数get_button来检查用户输入.该功能完成了我需要它做的所有事情,但问题是它也会调用print,这会大大减慢游戏速度.

我可以阻止这个电话print吗?

python printing pygame

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

只在python中用第一个空格拆分一个字符串

我有字符串例如:"238 NEO Sports".我想只在第一个空格分割这个字符串.输出应该是["238","NEO Sports"].

我能想到的一种方法是使用split()并最终合并返回的最后两个字符串.有没有更好的办法?

python string split

30
推荐指数
3
解决办法
4万
查看次数

字典理解中的操作顺序

我遇到了以下有趣的结构:

假设您有一个列表列表如下:

my_list = [['captain1', 'foo1', 'bar1', 'foobar1'], ['captain2', 'foo2', 'bar2', 'foobar2'], ...]
Run Code Online (Sandbox Code Playgroud)

并且你想用0-index元素作为键来创建一个字典.一个方便的方法是:

my_dict = {x.pop(0): x for x in my_list}
# {'captain1': ['foo1', 'bar1', 'foobar1'], ...}
Run Code Online (Sandbox Code Playgroud)

看起来,pop在将list x作为值分配之前,这就是为什么'captain'不出现在值中(它已经弹出)

现在让我们更进一步,尝试获得如下结构:

# {'captain1': {'column1': 'foo1', 'column2': 'bar1', 'column3': 'foobar1'}, ...}
Run Code Online (Sandbox Code Playgroud)

为此,我写了以下内容:

my_headers = ['column1', 'column2', 'column3']
my_dict = {x.pop(0): {k: v for k, v in zip(my_headers, x)} for x in my_list}
Run Code Online (Sandbox Code Playgroud)

但是这会返回:

# {'captain1': {'col3': 'bar1', 'col1': 'captain1', 'col2': 'foo1'}, 'captain2': {'col3': 'bar2', …
Run Code Online (Sandbox Code Playgroud)

python dictionary python-3.x

22
推荐指数
3
解决办法
2399
查看次数

根据条件删除列表的元素

我有一个元素列表,我想从中删除所有列表中计数小于或等于2的元素.

例如:

A = [['a','b','c'],['b','d'],['c','d','e'],['c','e','f'],['b','c','e','g']]
Run Code Online (Sandbox Code Playgroud)

我想删除'a','d','f','g'A而在其余的存储B,这样名单就变成了:

B = [['b','c'],['b'],['c','e'],['c','e'],['b','c','e']]
Run Code Online (Sandbox Code Playgroud)

我创建了一个字典,它将存储所有元素的数量,并根据我想要删除count小于或等于2的元素.

下面是我到目前为止编写的代码.

for i in range(len(A)):
    for words in A[i]:
        word_count[words] +=1
    B = [A[i] for i in range(len(A)) if word_count[words]<2]
Run Code Online (Sandbox Code Playgroud)

python

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

Python - 使用另一个列表对元组列表进行排序

我有一个元组列表to_order,如:

to_order = [(0, 1), (1, 3), (2, 2), (3,2)]
Run Code Online (Sandbox Code Playgroud)

以及一个列表,它给出了应用于每个元组的第二个元素的顺序to_order:

order = [2, 1, 3]
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一种获得此输出的方法:

ordered_list = [(2, 2), (3,2), (0, 1), (1, 3)]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python sorting tuples list

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

如何显式“刷新”tqdm 进度条?

我经常看到,tqdm进度条被其他打印件打破,例如:

 93%|??????????| 28/30 [00:02<00:00, 13.44it/s]Subject S9
100%|??????????| 30/30 [00:02<00:00, 12.94it/s]
 93%|??????????| 28/30 [00:02<00:00, 11.49it/s]Pickling...
100%|??????????| 30/30 [00:02<00:00, 11.47it/s]
Run Code Online (Sandbox Code Playgroud)

这里应该只显示 2 个进度条。尽管如此成功,打印一些文本会以很高的百分比中断进度条,其余的会在之后打印出来。

是否可以以某种方式“刷新”进度条?

我读过,默认情况下会tqdm打印stderr并尝试刷新它

sys.stderr.flush()
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。

以上都是在PyCharm控制台模拟中发生的,所以可以与此相关。

python flush pycharm tqdm

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

复制和合并目录,不包括某些扩展名

我想复制具有相同结构的多个目录(子目录具有相同的名称)但将不同的内容复制到第三个位置并合并它们.同时,我想忽略某些文件扩展名而不是复制它们.


我发现单独的第一个任务可以通过库中的copy_tree()函数轻松处理distutils.dir_util.这里的问题是copy_tree()不能忽略文件; 它只是复制一切..

distutils.dir_util.copy_tree() - 示例

dirs_to_copy = [r'J:\Data\Folder_A', r'J:\Data\Folder_B']
destination_dir = r'J:\Data\DestinationFolder'
for files in dirs_to_copy:
    distutils.dir_util.copy_tree(files, destination_dir)
    # succeeds in merging sub-directories but copies everything.
    # Due to time constrains, this is not an option.
Run Code Online (Sandbox Code Playgroud)

对于第二个任务(使用"排除文件"选项进行复制),这次有copytree()来自shutil库的功能.现在的问题是它无法合并文件夹,因为目标目录不能存在.

shutil.copytree() - 例子

dirs_to_copy = [r'J:\Data\Folder_A', r'J:\Data\Folder_B']
destination_dir = r'J:\Data\DestinationFolder'
for files in dirs_to_copy:
    shutil.copytree(files, destination_dir, ignore=shutil.ignore_patterns("*.abc"))
    # successfully ignores files with "abc" extensions but fails 
    # at the second iteration since …
Run Code Online (Sandbox Code Playgroud)

python windows copy-paste

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

升级pip时出错:UnicodeDecodeError:'utf-8'编解码器无法解码字节

我刚刚在Windows 10上安装了python,我正在尝试升级pip.

我的Windows用户名有希伯来字符...

当我尝试运行时:

python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Collecting pip
Using cached pip-8.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.1.2
Exception:
Traceback (most recent call last):
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\basecommand.py", line 211, in main
    status = self.run(options, args)
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\commands\install.py", line 311, in run
    root=options.root_path,
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_set.py", line 640, in install
    requirement.uninstall(auto_confirm=True)
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_install.py", line 673, in uninstall
    for path in pip.wheel.uninstallation_paths(dist):
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\wheel.py", line 512, in unique
    for item in fn(*args, **kw):
  File "C:\Users\???\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\wheel.py", line 531, …
Run Code Online (Sandbox Code Playgroud)

python windows decode pip utf-8

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