Change in Python 3.3 with the treatment of sys.argv
Peter Otten
__peter__ at web.de
Fri Mar 22 18:33:13 EDT 2013
Colin J. Williams wrote:
> Below is an extract from some code to run on Python 2.7.3, 3.2.3 and
> 3.3.0 to compare speeds, both between versions and machines:
>
> if __name__ == '__main__':
> # Text string for initial test - Modify for your own machine or
> # delete it and and answer the input statement with your own machine
> # characteristics.
> sys.argv[1:]= ('Intel Pentium D CPU 3.0GHz 1.99 GB of RAM 221GB
> Disk Free space', )
> main()
>
>
> def main():
> if len(sys.argv) > 1:
> idMachine= ' '.join(sys.argv[1:])
> ...
> oFile= open('FP' + now + '.log', 'w')
> oFile.writelines(idM + '\n' + sys.version + '\n')
>
> For 2.7, the result is:
> Intel_Pentium_D_CPU_3.0GHz_1.99_GB_of_RAM_221GB_Disk_Free_space
> 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]
>
> for 3.2, the result is:
> Intel_Pentium_D_CPU_3.0GHz_1.99_GB_of_RAM_221GB_Disk_Free_space
> 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)]
>
> For 3.3, the result is:
>
I_n_t_e_l___P_e_n_t_i_u_m___D___C_P_U___3_._0_G_H_z___1_._9_9___G_B___o_f___R_A_M___2_2_1_G_B___D_i_s_k___F_r_e_e___s_p_a_c_e
> 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit
> (Intel)]
>
> The full test result, for random matrices of increasing order is
> available
> here(http://web.ncf.ca/cjw/FP%20Summary%20over%20273-323-330.txt)
You may have run Python 3.3 with a slightly different script, one where you
forgot a trailing comma:
>>> argv = ["foo"]
>>> argv[1:] = ("bar",) # with comma
>>> print("-".join(argv[1:]))
bar
>>> argv = ["foo"]
>>> argv[1:] = ("bar") # without comma
>>> print("-".join(argv[1:]))
b-a-r
More information about the Python-list
mailing list