更改 python 中的硬编码值 3
Change hardcoded values in python 3
我想更改代码中的硬编码值。我希望代码根据 运行s 的次数替换和更改硬编码值。开始于:
x=1
下一次,在我 运行 它之后,在代码本身中,我想在代码编辑器中看到:
x=2
它会自动更改代码的值,无需人工输入,所以第三次它 运行:
x=3
这一切都是由脚本 运行ning 完成的,没有任何人为干预。有没有简单的方法?
使用配置解析器将 运行 计数器存储在文件中
import configparser
config = configparser.ConfigParser()
config_fn = 'program.ini'
try:
config.read(config_fn)
run_counter = int(config.get('Main', 'run_counter'))
except configparser.NoSectionError:
run_counter = 0
config.add_section('Main')
config.set('Main', 'run_counter', str(run_counter))
with open(config_fn, 'w') as config_file:
config.write(config_file)
run_counter += 1
print("Run counter {}".format(run_counter))
config.set('Main', 'run_counter', str(run_counter))
with open(config_fn, 'w') as config_file:
config.write(config_file)
您可以简单地写入一个定义良好的辅助文件:
# define storage file path based on script path (__file__)
import os
counter_path = os.path.join(os.path.dirname(__file__), 'my_counter')
# start of script - read or initialise counter
try:
with open(counter_path, 'r') as count_in:
counter = int(count_in.read())
except FileNotFoundError:
counter = 0
print('counter =', counter)
# end of script - write new counter
with open(counter_path, 'w') as count_out:
count_out.write(str(counter + 1))
这将在您的脚本旁边存储一个辅助文件,其中包含 counter
逐字记录。
$ python3 test.py
counter = 0
$ python3 test.py
counter = 1
$ python3 test.py
counter = 2
$ cat my_counter
3
我想更改代码中的硬编码值。我希望代码根据 运行s 的次数替换和更改硬编码值。开始于:
x=1
下一次,在我 运行 它之后,在代码本身中,我想在代码编辑器中看到:
x=2
它会自动更改代码的值,无需人工输入,所以第三次它 运行:
x=3
这一切都是由脚本 运行ning 完成的,没有任何人为干预。有没有简单的方法?
使用配置解析器将 运行 计数器存储在文件中
import configparser
config = configparser.ConfigParser()
config_fn = 'program.ini'
try:
config.read(config_fn)
run_counter = int(config.get('Main', 'run_counter'))
except configparser.NoSectionError:
run_counter = 0
config.add_section('Main')
config.set('Main', 'run_counter', str(run_counter))
with open(config_fn, 'w') as config_file:
config.write(config_file)
run_counter += 1
print("Run counter {}".format(run_counter))
config.set('Main', 'run_counter', str(run_counter))
with open(config_fn, 'w') as config_file:
config.write(config_file)
您可以简单地写入一个定义良好的辅助文件:
# define storage file path based on script path (__file__)
import os
counter_path = os.path.join(os.path.dirname(__file__), 'my_counter')
# start of script - read or initialise counter
try:
with open(counter_path, 'r') as count_in:
counter = int(count_in.read())
except FileNotFoundError:
counter = 0
print('counter =', counter)
# end of script - write new counter
with open(counter_path, 'w') as count_out:
count_out.write(str(counter + 1))
这将在您的脚本旁边存储一个辅助文件,其中包含 counter
逐字记录。
$ python3 test.py
counter = 0
$ python3 test.py
counter = 1
$ python3 test.py
counter = 2
$ cat my_counter
3