V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 18 页 / 共 27 页
回复总数  523
1 ... 10  11  12  13  14  15  16  17  18  19 ... 27  
2022-09-01 22:35:52 +08:00
回复了 mylifcc 创建的主题 Python 怎么才能在 Python 中输出一个 key 不带引号的字典呢
@mylifcc 这个应该是 js 的对象(字面量)吧: https://zh.javascript.info/object


试着写了一个( v 站排版原因,行首有若干全角空格):

1. 可以是数字、布尔、空值、字符串、列表、字典的随意组合

2. 除了字典的键会直接字符串化外,其他字符串会遵循 json 的要求,不包含控制字符和 \ "(替换为转义字符或十六进制)


from typing import Sequence, Mapping

ESCAPE_TABLE = str.maketrans(
  {chr(i): f'\\u{i:04x}' for i in range(32)} |
  {k: f'\\{v}' for k, v in zip('\b\t\n\f\r\\"', 'btnfr"\\')}
)

def jsonify(obj) -> str:
   if isinstance(obj, str):
     return f'"{obj.translate(ESCAPE_TABLE)}"'
   elif isinstance(obj, Sequence):
     return f"[{', '.join(map(jsonify, obj))}]"
   elif isinstance(obj, Mapping):
     return f"{{{', '.join(f'{k}: {jsonify(v)}' for k, v in obj.items())}}}"
   else:
     return str({
       None: 'null',
       True: 'true',
       False: 'false',
    }.get(obj, obj))
2022-09-01 20:21:36 +08:00
回复了 mylifcc 创建的主题 Python 怎么才能在 Python 中输出一个 key 不带引号的字典呢
@mylifcc 对了,若是 key 包含 " \ : <换行> 等字符,你打算咋表示呢?

{
 \": "引号",
 \\: "斜杠",
 \:: "冒号",
 \n: "换行"
}

这样?
2022-09-01 19:34:23 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@documentzhangx66 我不知道你打算怎么备份,tar ? rsync ? dd ?或者啥更专业的命令

要不你直接说会碰到啥问题吧
2022-09-01 19:17:40 +08:00
回复了 mylifcc 创建的主题 Python 怎么才能在 Python 中输出一个 key 不带引号的字典呢
@JamesMackerel
@llsquaer

写漏了

然后被替换成『"\fake_key\": value"』了
2022-09-01 19:12:12 +08:00
回复了 mylifcc 创建的主题 Python 怎么才能在 Python 中输出一个 key 不带引号的字典呢
@JamesMackerel
@llsquaer

正则替换,要考虑不少东西的。比如:

1. 键值对里的值,不一定全是字符串,还可以是数字、列表、字典等

2. 就算是『"(.+?)"\s*:』,也有可能是『'"fake_key": value'』,序列化成『"\"fake_key\": value"』,然后被替换成『"\fake_key\": value 』了
2022-09-01 18:27:56 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@documentzhangx66 你日常在 shell 里都打些啥命令啊,天天碰到这些问题么。。
2022-09-01 11:09:28 +08:00
回复了 badboy17 创建的主题 数据库 mysql 为什么一定要生成聚簇索引
不生成聚簇索引。。是打算变成 csv 么。。
2022-09-01 10:42:32 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@documentzhangx66 在交互式下,你也认为『 New-Item ... 比 ln ... 好,因为前者能让你清楚地知道,你在干嘛』吗?
2022-08-31 10:44:17 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@newmlp 那我为何不直接用自带的 bash zsh ,而要去安装个 ps 再打同样的命令呢?

现在就是在问,ps 对于交互式操作,自身的什么优越性,起到了什么明显的优化作用,以至于能甩 bash zsh 几条街?
2022-08-31 04:12:24 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@geelaw 我不熟悉 powershell ,只是印象中命令都很长

所以直接拿 35 楼的命令,在 powershell 一点点试哪里可以 <tab>

如果都像你说的这么简短,倒真的可以试着学学


> 好的品位是不去比较这种天花乱坠的写法

我认为 交互式 shell 应该怎么简洁快速怎么来。脚本才重视可读性


> 另外 grep (可执行文件)和 ln (可执行文件)都不是 shell/bash 的一部分

这应该是 Linux 的哲学,一个 shell 就该当好用户与系统交互、胶水语言的角色,不是由它实现所有功能
2022-08-31 03:12:05 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@PrinceofInj 是这样吗?(我用 35 楼的试试)

1. 软链接

- `new-it<tab> -t<tab> s<tab> -t<tab> foo -p<tab> bar`(按 30 次)
- `ln -s foo bar`( 13 )

2. 过滤

- `| out-s<tab> -<tab> | sel<tab>-s<tab> -<tab> foo`( 28 )
- `| grep foo`( 10 )
2022-08-31 01:44:03 +08:00
回复了 CUPAIR 创建的主题 Vim vim 正则=~含义?
@lisongeee 啊,写了这么久 markdown ,居然没注意到这个基础语法规则。。
2022-08-31 00:15:17 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@ColorfulBoar 你能给出一些交互式下,大家常用的,powershell 明显比 bash 短的例子吗?
2022-08-30 23:14:30 +08:00
回复了 CUPAIR 创建的主题 Vim vim 正则=~含义?
诶,没写漏。。 @lisongeee 为嘛你的 markdown 油猴脚本,会自动吃掉一个 反斜杠 \ ?
2022-08-30 23:12:54 +08:00
回复了 CUPAIR 创建的主题 Vim vim 正则=~含义?
写漏了

:echo "a " =~ "\\s"
2022-08-30 23:12:25 +08:00
回复了 CUPAIR 创建的主题 Vim vim 正则=~含义?
这样?

:echo "a " =~ "\\s"
2022-08-30 22:57:11 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@chengliang 想问一下,你们以交互式使用 powershell 多吗?还是多作为脚本使用?
2022-08-30 22:50:49 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@pepi 相比 bash 等 shell ,powershell 交互使用稍显繁琐吧(命令太长了?)

写脚本应该比 bash 强。但这方面 python 也很强

我没搞懂 powershell 定位
2022-08-30 15:54:29 +08:00
回复了 lanlanye 创建的主题 Python 你们说 Python 这个是 Bug 还是 Feature?
@lanlanye 人家[官方文档]( https://docs.python.org/zh-cn/3/reference/compound_stmts.html#function)写得很清楚了:

> **默认形参值会在执行函数定义时按从左至右的顺序被求值。** 这意味着当函数被定义时将对表达式求值一次,相同的“预计算”值将在每次调用时被使用。 这一点在默认形参为可变对象,例如列表或字典的时候尤其需要重点理解:如果函数修改了该对象(例如向列表添加了一项),则实际上默认值也会被修改。 这通常不是人们所想要的。 绕过此问题的一个方法是使用 None 作为默认值,并在函数体中显式地对其进测试,例如:

```python
def whats_on_the_telly(penguin=None):
__if penguin is None:
____penguin = []
__penguin.append("property of the zoo")
__return penguin
```
2022-08-30 15:47:03 +08:00
回复了 lanlanye 创建的主题 Python 你们说 Python 这个是 Bug 还是 Feature?
不是 {1, 2, 3} 么?
1 ... 10  11  12  13  14  15  16  17  18  19 ... 27  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5577 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 07:24 · PVG 15:24 · LAX 00:24 · JFK 03:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.