将变量返回到文件或从输入直接返回

时间:2016-12-13 18:32:38

标签: python file python-3.x

使用

1   Commingled Data
2   Social Security
3   
4   
5   SSA  1996
1   Commingled Data
2   Social Security 
3   
4   
5   SSA 1997
1   Commingled Data
2   Social Security
3   
4   
5   SSA  -1998
1   Commingled Data
2   Statistical Administrative 
3   
4   
5   StARS 2000
1   Federal
2    Treasury
3   Internal 
4   1099
5   Master File - TY 1997 (1099/IRMF)
1   Federal 
2    Treasury
3   Internal 
4   1099
5   Master File - TY 1998 (1099/IRMF)
1   State
2    Wage
3   Indiana
4   
5    Indiana - 1990Q1-2005Q2
1   Federal 
2    Treasury
3   Internal 
4   1040
5    TY 2003 (1040/IMF) 1% File
1   Federal 
2    Treasury
3   Internal
4   1040
5   TY 2003 (1040/IMF) Cycles 1-39

with open("file.txt", "a", encoding="utf-8") as f:
    f.write(input())

哪个更好?等待用户和他们打开文件或打开文件并等待输入?

1 个答案:

答案 0 :(得分:3)

哪个版本更好取决于您要使用的用户界面:在第一种情况下,如果文件无法附加到用户,则永远不会要求用户输入。在第二种情况下,在潜在的写入失败之前总会有输入提示。

因此,您应该问自己,您的示例的上下文是否更喜欢第一个或第二个案例。

此外,在第一个代码示例中,您无法对用户输入执行任何其他操作:

User
-----------------
id
name

Skill
-----------------
id 
name

User_Skill
-----------------
user_id
skill_id

(当然,如果您不在其他地方使用select s.* from Skills s left join User_Skills us on us.skill_id = s.id where us.user_id = <insert user id>; 的返回值,那么这两个代码示例在实践中是相同的。)