def xg(): show() if os.path.exists(filename): with open("a.ini.txt", "r", encoding="utf-8")as rfile: yg_old = rfile.readlines() else: return yg_id = input('请输入要修改的员工的工号:') with open("a.ini.txt", "w", encoding="utf-8")as wfile: for it in yg_old: d = dict(eval(it)) if d["id"] == yg_id: print("找到员工的信息,可以修改") while True: try: d["name"] = input("请输入姓名:") d["xb"] = input("请输入性别:") d["gz"] = input("请输入工资:") except: print("您输入的有误,请重新输入") else: break wfile.write(str(d) + "\n") print("修改成功!!") else: wfile.write(str(d) + "\n") answer = input("是否需要继续修改其他员工信息y/n\n") if answer == 'y': xg()
时间: 2024-02-15 16:28:28 浏览: 163
这是一个Python函数,它的功能是读取一个文件中的员工信息,然后让用户输入要修改的员工工号,根据工号找到对应的员工信息,让用户修改该员工的姓名、性别和工资,最后将修改后的员工信息写入文件中。该函数可以递归调用,让用户继续修改其他员工信息。
不过需要注意的是,在代码中使用了`eval()`函数将从文件中读取的字符串转换成了字典类型,这样可能存在安全风险,建议使用其他更加安全的方式来处理文件中的数据。另外,函数中的文件名和输入提示信息等都需要根据实际情况进行修改。
相关问题
帮我做简单的修改 修改成windows版本能跑的 CLEAR_UTILS = False if not os.path.exists('./utils'): if os.path.exists('../build-utils/src/utils'): os.system('ln -s ../build-utils/src/utils utils') else: if not os.path.exists('./subproj/build-utils/src/utils'): if not os.path.exists('./subproj'): os.makedirs('./subproj') os.system('git clone https://github.com/sk1project/build-utils ' 'subproj/build-utils') os.system('ln -s ./subproj/build-utils/src/utils utils') CLEAR_UTILS = True CLEAR_UC2 = False
为了在Windows上运行,你需要做以下修改:
```python
import os
import shutil
CLEAR_UTILS = False
if not os.path.exists('./utils'):
if os.path.exists('../build-utils/src/utils'):
os.symlink('../build-utils/src/utils', 'utils', target_is_directory=True)
else:
if not os.path.exists('./subproj/build-utils/src/utils'):
if not os.path.exists('./subproj'):
os.makedirs('./subproj')
os.system('git clone https://github.com/sk1project/build-utils '
'subproj/build-utils')
os.symlink('./subproj/build-utils/src/utils', 'utils', target_is_directory=True)
CLEAR_UTILS = True
CLEAR_UC2 = False
```
这里使用了`os.symlink()`函数来创建符号链接。`target_is_directory=True`表示目标是一个文件夹。另外,如果需要清除`utils`文件夹和`UC2`的操作,请根据具体需求添加相应的代码。
def mkdir_if_missing(directory): if not os.path.exists(directory): try: os.makedirs(directory) except OSError as e: if e.errno != errno.EEXIST: raise,这是什么意思
这是一个 Python 函数,用于检查指定的目录是否存在,如果不存在则创建该目录。具体来说,这个函数会接收一个参数 `directory`,表示要检查/创建的目录的路径。函数会使用 `os.path.exists()` 方法检查目录是否存在,如果目录不存在则使用 `os.makedirs()` 方法创建目录。如果在创建目录时发生错误,函数会抛出一个 `OSError` 异常,并检查异常的错误号是否为 `errno.EEXIST`(表示目录已经存在),如果不是则将异常继续抛出。这个函数的作用是确保指定的目录存在,以便后续操作能够正常进行。
阅读全文