笨办法学习python3练习代码:argv参数变量与文件操作
ex15.py
完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt)
执行ex15.py 如: python ex15.py ex15_sample.txt。则可以读取 ex15_sample.txt这个文件的内容
读取文件的基本操作:
- 打开一个文件,如txt = open(filename)
- 读取文件,如txt.read()
- 对文件操作完,一定要关闭文件,如txt.close()
与文件操作有关的一些函数
- close:关闭文件
- read:读取文件的内容,可以把结果赋值给一个变量
- readline:只读取文本文件的一行
- truncate(缩短的意思):清空文件,小心使用该命令
- write("stuff"):将"stuff"写入文件
- seek(0):将读写位置移动到文件开头
from sys import argv
#sys是一个软件包,把argv这个特性(或者叫模块、方法)插入到代码中
script, filename = argv #filename 是要选择读取的文件名,在这里是ex15_sample.txt #读取文件第一步,打开文件
txt = open(filename)
print(f"Here's your file {filename}:") #读取文件第二步,读文件并打印
print(txt.read())
#文件处理完,一定要关闭
txt.close() print("Type the filename again:") #input中“>”是提示符,打印出来就是>;用户输入的字符串会赋给变量file_again
file_again = input("> ")
txt_again = open(file_again)
print(txt_again.read())
#文件处理完,一定要关闭
txt_again.close()
ex16.py
#close:关闭文件
#read:读取文件的内容,可以把结果赋值给一个变量
#readline:只读取文本文件的一行
#truncate(缩短的意思):清空文件,小心使用该命令
#write("stuff"):将"stuff"写入文件
#seek(0):将读写位置移动到文件开头 from sys import argv
script, filename = argv #filename = ex15_sample.txt
print(f"We're going to erase {filename}.") #erase :清除的意思 print("if you don't want that, hit CTRL-C {^C}.") # hit 点击,打击的意思
print("if you do want that,hit RETURN.") input("?")
print("Opening the file...")
target = open(filename,'w') #open for writing,truncating the file first
print("Truncate the file. Goodbye!") #清空文件
target.truncate() print("Now I'm going to ask you for threes lines.")
line1 = input("line 1: ")
line2 = input("line 2: ")
line3 = input("line 3: ") print("I'm going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
#一行一行接着写入 print("And fianlly,we close it. ")
target.close()
ex17.py
注意事项:不要用echo方法创建txt文件,用echo命令会出错。直接在python3文件夹里面创建txt即可。也就是在运行代码之前直接在python3文件夹里面创建ex17_from.txt和ex17_to.txt两个文件。同时要在ex17_from.txt中写入一些东西(可随意写一些东西),才有内容从ex17_from.txt可以复制到ex17_to.txt中。
'''
把ex17_from.txt的内容 读取出来写入到ex17_to.txt 文件中
1.打开ex17_from.txt文件,默认读方式打开
2.读取文件数据
3.关闭ex17_from.txt文件 1.打开ex17_to.txt文件,默认读方式打开,改成写方式打开
2.写入数据
3.关闭ex17_to.txt文件 ''' from sys import argv
from os.path import exists #exist(存在的意思) script, from_file, to_file = argv
print(f"coping from {from_file} to {to_file}")
in_file = open(from_file)
indata = in_file.read()
print(f"The input file is {len(indata)}bytes long") print(f"Does the output file exists? {exists(to_file)} ") #exist(存在的意思)
print("Ready,hit RETURN to continue, CTRL-C to abort.")
input()
in_file.close() out_file = open(to_file,'w')
out_file.write(indata) print("Alright, all done.") out_file.close()
笨办法学习python3练习代码:argv参数变量与文件操作的更多相关文章
- 笨办法学习python3练习代码ex20.py 函数和文件
注意,还要在python3,就是ex20.py的同目录里面直接创建一个ex20.txt的文件.里面至少要有三行内容 #函数和文件 #readline:只读取文本文件的一行 #seek(0):将读写位置 ...
- 笨办法学习Python3练习代码1-10
ex1.py print("hello world!",end = " ")#不换行 print("hello again") print( ...
- 笨办法学python3练习代码13-14:argv参数变量的学习
ex13.py argv参数的学习 #argv:参数变量(argument variable),这是一个标准的编程术语,在其他语言中也可可以看到.argument可译为: 参数 #如果参数是用户在执 ...
- IOS学习之IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都 ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作1
iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的H ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- Unity3D学习笔记(二十五):文件操作
文件是什么? 存储在硬盘上的最后的节点. 文件夹是什么? 文件的上级单位称为文件夹. 文件夹的基本结构? 文件夹是层级化结构的,对于同级的文件夹不可以重名,父文件夹和子文件夹可以同名> IO:I ...
- Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】
一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...
随机推荐
- Edit Static Web File Http Header Metadata of AWS S3 from SDK | SDK编程方式编辑储存在AWS S3中Web类文件的Http Header元数据
1.Motivation | 起因 A requirement from the product department requires download image from AWS S3 buck ...
- 终于理解Python中的迭代器和生成器了!
迭代器和生成器 目录 迭代器和生成器 可迭代对象和迭代器 基础概念 判断 for循环本质 不想用for循环迭代了,如何使用迭代器? 列表推导式 生成器Generator 概念 如何实现和使用? 生成器 ...
- ASP.NET Core端点路由 作用原理
端点路由(Endpoint Routing)最早出现在ASP.NET Core2.2,在ASP.NET Core3.0提升为一等公民. Endpoint Routing的动机 在端点路由出现之前,我们 ...
- 精通java并发-wait,notify和notifyAll的总结(含案例)
目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages wait,notify和notifyAll 总结 在调用wait方法时,线程必须要持有被调用对象的锁,当调用wait方 ...
- 纯 CSS 实现滑动轮播图效果
只使用css实现轮播图简单的操作 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Apache Hudi重磅特性解读之存量表高效迁移机制
1. 摘要 随着Apache Hudi变得越来越流行,一个挑战就是用户如何将存量的历史表迁移到Apache Hudi,Apache Hudi维护了记录级别的元数据以便提供upserts和增量拉取的核心 ...
- 问题:IE11下window.history.go(-1)返回404
解决方法: 在后面添加return false,如: onclick="javascript:window.history.go(-1);return false" 这个问题在IE ...
- linux中无法使用vim命令
报:linux中 vim 不是内部指令! 解决: 1. rpm -qa | grep vim // 查看vim命令在什么软件包 出现 vim-minimal-7.4.160-4.el7.x86_64 ...
- Vue JSX、自定义 v-model
博客地址:https://ainyi.com/92 最初用到 JSX,就是做这个博客的时候.iview 表格组件,不支持像 element 那样直接写 html 代码渲染,只能通过 render 函 ...
- 010.Nginx正反代理
一 Nginx代理 1.1 Nginx代理概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器.同时也是一个IMAP.POP3.SMTP代理服务器.nginx可以作为一个HTT ...