我想帮助理解为什么这段代码没有按预期工作.
如果想要更改字典的键但保留值,他/她可能会使用:
d[new_key] = d.pop[old_key]
Run Code Online (Sandbox Code Playgroud)
我想修改所有键(并保持值到位),但下面的代码跳过某些行 - ("col2")保持不变.是因为字典是无序的,我不断改变其中的值?
如何在不创建新字典的情况下更改密钥并保留值?
import time
import pprint
name_dict = {"col1": 973, "col2": "1452 29th Street",
"col3": "Here is a value", "col4" : "Here is another value",
"col5" : "NULL", "col6": "Scottsdale",
"col7": "N/A", "col8" : "41.5946922",
"col9": "Building", "col10" : "Commercial"}
for k, v in name_dict.items():
print("This is the key: '%s' and this is the value '%s'\n" % (k, v) )
new_key = input("Please enter a new key: ")
name_dict[new_key] = name_dict.pop(k)
time.sleep(4)
pprint.pprint(name_dict)
Run Code Online (Sandbox Code Playgroud) 我正在使用 python 3.3,在我的代码中,我需要使用以下参数打开 cmd.exe 并运行它。cmd.exe 中所需的行应该是:
C:\Program Files (x86)\GlobalMapper15>global_mapper.exe script.gms variable
Run Code Online (Sandbox Code Playgroud)
我看到了不同的答案,但我使用 subprocess.call 管理的最多的是打开 cmd.exe 或 global_mapper.exe。我没有设法在 cmd.exe 中获得上面的行。
我到目前为止尝试过:
#import subprocess
import os
os.system("cmd.exe C:\Program Files (x86)\GlobalMapper15\global_mapper.exe script.gms")
#subprocess.call(["cmd.exe C:\Program Files (x86)\GlobalMapper15\global_mapper.exe", "script.gms"])
Run Code Online (Sandbox Code Playgroud)
他们都没有工作得很好。
当然,如果这条线也能被执行,那就太好了。任何人都可以帮助我实现这一目标吗?
谢谢你们,